JDBC高级
JDBC开发流程
step1:注册驱动:Class.forName()
step2:获得连接:Connection conn = DriverManger.getConnection(url,username,password)// Connection java.sql包下的
step3:编写SQL语句,String sql ="",以前的值的地方用占位符代替 ?就是占位符
step4:预编译sql并且获得可执行sql语句的对象PreparedStatement ps = conn.prepareStatemet(String sql)
step5:为sql语句设置值,用值代替sql语句中的? ps.setXXX(int n,值) n:代表第几个问号的意思,n从1开始
step6:执行sql语句
如果是查询:ResutSet rs = ps.executeQuery()
遍历结果集:
while(rs.next()){
rs.getXXX(String columnName)/rs.getObject(String columnName) ;
//columnName默认是表地段名,如果取了别名,用别名
}
如果是增删改:int num = ps.executeUpdate() ;// num 代表影响的行数
step7:释放资源
工具类的抽取:
Properties对象的使用
Properties prop = new Properties();
prop.load(new FileInputStream(String path));
prop.getProperty(String key)
属性文件:.properties
key=value
aaa=adfadf
bbb=dafda
背后的思想:程序的解耦和
JDBC的事务管理
事务的管理的对象:Connection conn
事务管理的核心的思想:
逻辑上的一组操作使用的是同一个Connection对象
事务管理的核心步骤:
开启事务:conn.setAutoCommit(false)
业务逻辑的操作
所有的业务逻辑操作都成功后提交事务:conn.commit()
一旦有异常回滚事务:conn.rollback()