JDBC底层代码
来源:互联网 发布:微分销源码 .net 编辑:程序博客网 时间:2024/05/18 03:50
JDBC(原始不考虑事务)
package cn.gts.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import org.junit.Test;import cn.gts.entity.User;public class Jdbc { @Test public void jdbcTest() { Connection conn = null; PreparedStatement psmt = null; ResultSet rs = null; try { /* * jdbc四大配置参数 * driverClassName:com.mysql.jdbc.Driver * url:jdbc:mysql://localhost:3306/test * username:root * password:123 */ //加载驱动 Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "123"; //得到连接 conn = DriverManager.getConnection(url,username,password); //编写sql语句 String sql = "select * from user where username = ?"; //预编译sql语句 psmt = conn.prepareStatement(sql); //设置参数值 psmt.setString(1, "zhangSan"); //执行sql语句得到结果集 rs = psmt.executeQuery(); //遍历结果集 while(rs.next()) { //根据字段得到数据 String username = rs.getString("username"); String password = rs.getString("password"); //封装 User user = new User(); user.setUsername(username); user.setPassword(password); System.out.println(user); } } catch (Exception e) { e.printStackTrace(); } finally { try { rs.close(); psmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }}
JDBC演示转账(事务案例)
public void transfer(boolean b) { Connection con = null; PreparedStatement pstmt = null; try { con = JdbcUtils.getConnection(); //手动提交 con.setAutoCommit(false); String sql = "update account set balance=balance+? where id=?"; pstmt = con.prepareStatement(sql); //操作 pstmt.setDouble(1, -10000); pstmt.setInt(2, 1); pstmt.executeUpdate(); // 在两个操作中抛出异常 if(b) { throw new Exception(); } pstmt.setDouble(1, 10000); pstmt.setInt(2, 2); pstmt.executeUpdate(); //提交事务 con.commit(); } catch(Exception e) { //回滚事务 if(con != null) { try { con.rollback(); } catch(SQLException ex) {} } throw new RuntimeException(e); } finally { //关闭 JdbcUtils.close(con, pstmt);//这个只是一个自己写的工具类而已 } }
阅读全文
0 0
- JDBC底层代码
- JDBC底层代码
- jdbc底层
- jdbc底层
- JDBC底层源代码
- jdbc底层实现
- jdbc底层封装
- 底层jdbc查询操作
- ORM底层封装( JDBC \ DBUtils)
- JDBC的底层执行过程
- IL代码底层运行机制
- 公共配置底层代码
- 公共配置底层代码
- IL代码底层运行机制
- IL代码底层运行机制
- IL代码底层运行机制
- web服务器底层代码
- socket底层代码
- 翻译 | 上手 Webpack ? 这篇就够了!
- View[7] Property
- vue中methods一个方法调用另外一个方法
- vim
- android颜色对应的xml配置值,颜色表
- JDBC底层代码
- C#构造函数、操作符重载以及自定义类型转换
- 第六篇 蜂鸣器和app_timer
- 使用LeNet网络训练Caltech101数据集
- 复制移动文件时对于目标文件系统过大怎么办
- 翻译 | 摆脱浏览器限制的JavaScript
- 二层转三层报文正常流程
- 关于实例方法, 类方法和静态方法的思考
- Python 实现自动刷CSDN博客浏览量