A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 厦门校区   /  2018-5-28 17:29  /  6485 人查看  /  53 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 凉面要趁热吃 于 2018-5-30 09:01 编辑

黄进安:

1.      事务的批量处理
l  使用了voidaddBatch(String sql) 执行SQL命令
l  使用了int[]executeBatch()  对这些执行命令进行批量处理,全部执行成功返回更新计数组成的数组
2.      JDBC的连接对象进行事务管理
通过连接对象获取:事务的开启,提交和回滚
开启: 连接对象.setAutoCommit(false); false部让事务自动提交
提交: 连接对象.commit();
回滚: 连接.rollback(); 置于catch语句中,即事务出现异常时回滚事务
3.      自定义连接池用到了一种设计模式: 装饰者模式
--->装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能
l  装饰对象和真实对象有相同的接口
l  将真实对象传递到装饰对象的构造方法中,实现对真实对象的引用
l  在装饰对象中对需求的方法进行重写操作,完成我们需要的功能需求
4.    对c3p0连接池的使用:
l  如果使用配置文件的方式,配置文件名c3p0-config.xml 不可随意更改且必须放在当前项目的src文件夹下,因为在连接池对象ComboPooledDataSource的底层源代码中已经设置好了文件的指定路径及其文件名,同理里面定义的一些变量名也不能更改.
l  优化工具类:在工具类中创建连接池对象ComboPooledDataSource,使用静态修饰,使其仅随工具类的加载而创建一次;抽取创建获取连接池和连接的方法
5.    使用DBUtils工具类:
l  获取核心类: QueryRunner(连接池对象);
l  通过核心类对数据库进行CRUD操作的方法: intupdate(“SQL执行语句?,?”,Object… args);即底层代码使用的是PrepareStatement预编译的 SQL 语句的对象

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马