数据库连接池

一:连接池状态
数据库连接池就是一个普通的XML文件,里面可以有多了连接池标签建立数据库连接。
建立连接后,如果用户在使用一次连接后,不再使用连接,那么连接将一直存在连接池中,等待下一次连接时,则可以直接获取连接并使用。不需要访问数据库服务器。
二:连接池优点
1、减少对数据库的访问请求,提高访问效率
2、

三:数据库连接池的使用

1、创建C3P0数据库连接池
<c3p0-config>
    <!--default-config 表示默认配置-->
    <default-config>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/test?useSSL=true</property>
        <property name="user">root</property>
        <property name="password">123456</property>
        <!--初始化池的大小-->
        <property name="initialPoolSize">1</property>
        <!--最小连接池数-->
        <property name="minPoolSize">2</property>
        <!--池增量-->
        <property name="acquireIncrement">3</property>
        <!--最大连接池数量-->
        <property name="maxPoolSize">10</property>
    </default-config>
</c3p0-config>
2、创建数据库连接类,实现创建连接池对象、获取数据库连接、获取数据源
 //创建连接池对象
    static ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
    //获取数据库连接
    static Connection getConn() throws SQLException {
        return comboPooledDataSource.getConnection();
    }
    //获取数据源
    public static DataSource getSource(){
        return comboPooledDataSource;
    }
3、创建数据库业务操作对象	
//创建数据库业务操作对象
    static QueryRunner queryRunner = new QueryRunner(DBHelp.getSource());

四:数据库连接业务操作对象的方法

1、查询query
//预编译SQL语句
String sql="select * from emp where ename=? and eage=?";
//添加处理问号参数
Object [] obj={emp.getEname(),emp.getEage()};
//                                  返回的数据对象,泛型为类型,括号为对象本类
Emp query = queryRunner.query(sql, new BeanHandler<Emp>(Emp.class), obj);
2、增删改excute
//预编译SQL
 String sql="update emp set ename=?,eage=?,email=?,did=? where eid=?";
//处理参数
Object [] obj={emp.getEname(),emp.getEage(),emp.getEmail(),emp.getDid(),emp.getEid()};
//返回
return queryRunner.execute(sql,obj);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值