小白之旅22

JDBC工具类:JDBCUtils

目的:简化书写,提高性能

可以被优化的内容有:

1、驱动的注册

​ 在静态代码块中注册驱动

2、连接对象的获取

​ 在静态代码块中获取连接对象需要的参数

​ 创建getConnection()方法获取连接对象

3、资源的释放

​ 重载自定义的close()方法,针对增删改查的不同操作进行资源的释放

​ a、增删改:close(Connection conn,Statement stmt)

​ b、查:close(Connection conn,Statement stmt,ResultSet rs)

数据库的连接池

概念:数据库连接池是程序启动时建立的存有足够数据的连接对象所组成的一个容器。

它能够动态对连接对象进行创建、使用、释放。

目的:原因是因为创建连接对象非常消耗资源,可能对数据库的内存造成隐患,从而使用连接池来保证数据库读写的速度,并提高安全性。

使用:

  • c3p0-0.9.1.2.jar:自动读取c3p0-config.xml中的数据库配置,并提供连接池
  • commons-dbutils-1.6.jar:封装了对数据库进行crud的QueryRunner
  • mysql-connector-java-5.1.37-bin.jar:提供连接数据库和对数据库进行操作的实现类

步骤:

1、导包

2、编写c3p0-config.xml配置文件,在src下

<c3p0-config>
    <named-config name="mypool">
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql:///school</property>
        <property name="user">root</property>
        <property name="password">root</property>
        <property name="initialPoolSize">3</property>
        <property name="maxPoolSize">10</property>
    </named-config>
</c3p0-config>

3、获取连接池对象

​ private static ComboPooledDataSource dataSource = new ComboPooledDataSource("mypool");
​ public static DataSource getDataSource(){
​ return dataSource;
​ }

4、创建QueryRunner对象并指明使用的连接池

QueryRunner qr = new QueryRunner(MyPool.getDataSource());

5、写SQL语句

String sql = "update user set upassword = ? where uid = ?";

6、执行SQL语句

qr.update(sql,Object...可变参数);

可变参数中放入与占位符位置对应的数据

转载于:https://www.cnblogs.com/demonycw/p/11342754.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值