自定义连接池:
学会用resourcebundle来加载properties文件
运用连接池的技术
连接池技术原理:搞一个linkedlist容器来存放这些connection连接,并且通过add和remove来进行存取
连接池技术中容易存在的问题:如何在取出使用的过程当中不小心关闭了connection,那么con将放不回去,所以我们必须增强connection类里面的close方法
close方法是connection类里面的,所以要增强close我们必须要使用一个自定义来实现connection接口,该方法的缺点是必须实现connection接口的所有方法。
C3P0使用:
运用ComboPooledDataSource来获取连接池 cpds.getConnection()来获取连接conn
DBUtiles的使用:
增删改:
QueryRunner qr=new QueryRunner(C3P0Utiles.getDataSource());
String sql="insert into hello_biao1 values(null,?,?)";
Object[] params={"lip frog",55};
int rows=qr.update(sql, params);
查一条:
try {
QueryRunner qr=new QueryRunner(C3P0Utiles.getDataSource());
String sql="select * from hello_biao1 where id=?";
Object[] params={8};
User u=qr.query(sql, params, new BeanHandler(User.class));
System.out.println(u);
} catch (SQLException e) {
e.printStackTrace();
}
查多条
try {
QueryRunner qr=new QueryRunner(C3P0Utiles.getDataSource());
String sql="select * from hello_biao1 order by id";
//运用beanlisthandler类来获取
List lu=qr.query(sql, new BeanListHandler(User.class));
for (User user : lu) {
System.out.println(user);
}
} catch (SQLException e) {
e.printStackTrace();
}