JDBC-3
1.JDBC方式管理事务
1.开启事务:
connection.setAutoCommit(boolean类型参数) ;
(默认自动提交)
参数为false:禁用自动提交,需要手动提交事务
2.事务回滚:
connection.rollback() ;
一般放在catch(异常)代码里,出现异常时事务回滚到默认在更新之前的操作,来保证数据不出现错乱.
3.提交事务:
connection.commit();
一般放在finally代码里面,finally中的代码一定会执行的,除非执行这个语句之前,jvm退出了--->System.exit(0) ;
2.引入commons-dbutils工具类库以及使用
作用:就是被用来完成jdbc操作,简化了jdbc操作的一种书写格式
使用步骤(完成jdbc操作):
1)需要导入核心的jar包 commons-dbtils.jar
mysql驱动jar包
连接池--druid的jar包
junit单元测试:核心包junit.jar以及依赖包
2)有关commons-dbtils.jar 核心接口以及核心类有哪些
使用的执行对象:操作数据库
org.apache.commons.dbutils.QueryRunner里面封装就是PreparedStatement
两个通用的方法
query(xxx,ResultSetHandler rsh):针对dql语句来完成查询操作
update(xxx,xx):针对dml域操作:insert into,update,delete from ....
核心接口:ResultSetHandler:针对结果集的处理
很多很多实现类
BeanListHandler:可以将查询的多条记录-----封装到List集合中
BeanHandler:将查询的结果集中某条记录封-----装到一个Java实体类中
ScalarHandler:查询出的单行单列的数据-----封装到Object对象中
查询出总记录数:聚合函数
select count(id字段) from 表名 ;
注意:object类型转为int类型
1.String str = String.valueof(object对象);
2.int num = Integer.parseInt(str);
使用实例:
1)导入dbutilsjar包
2)创建数据库的执行对象
QueryRunner qr = new QueryRunner(DataSource对象) ;DataSource对象=DruidJdbcUtils.getDataSource()
3)准备sql语句(参数化的sql)
4)执行它的通用方法
query(String sql,ResultSetHandler rsh)
或
update(String sql,占位符号1的数据,占位符号2的数据,...)
5)返回结果