开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3443|回复: 0
收起左侧

[android教程] DBCP 链接池

[复制链接]
结帖率:43% (6/14)
发表于 2018-3-10 14:44:33 | 显示全部楼层 |阅读模式   江苏省南京市
本帖最后由 4378430 于 2018-3-10 14:44 编辑

作用:管理的Connection 实现连接的共享

有了链接池 我们就不需要每次都创建连接 这个动作由连接池去完成

减少了和本地资源的交互 而且也提高了执行的效率

使用到的jar包:
                     commons-dbcp-1.4.jar
                     commons-dbutils-1.6.jar
                     commons-pool-1.5.6.jar
                     mysql-connector-java-5.1.37-bin.jar


  1. package com.wwangluo_demo;

  2. import java.sql.SQLException;
  3. import java.util.List;

  4. import org.apache.commons.dbutils.QueryRunner;
  5. import org.apache.commons.dbutils.handlers.ArrayListHandler;

  6. import com.wwangluo_jdbcutiles.JDBCUtiles;

  7. /**
  8. * 测试工具类
  9. * 提供一个DataSourse数据源
  10. * QueryRunner类的构造方法,可以接受DataSourse接口的实现类
  11. * 后面再去调用方法,无需传递它们的Connection链接对象
  12. * @ClassName
  13. * @Data
  14. */
  15. public class QueryRunnerDemo {
  16.         public static void main(String[] args) {
  17.                 //insert();
  18.                 select();
  19.         }
  20.         //定义2个方法         1.实现数据表的添加         2.实现数据表的cha询
  21.         //QueryRunner类的对象,写在成员的位置
  22.         private static QueryRunner qr = new QueryRunner(JDBCUtiles.getDataSource());//通过反射传递的是工具类的方法
  23.        
  24.         //数据表的cha询
  25.         public static void select(){
  26.                 String sql = "SELECT * FROM sort";
  27.                 try{
  28.                 List<Object[]> list = qr.query(sql, new ArrayListHandler());
  29.                 for (Object[] objects : list) {
  30.                         for (Object object : objects) {
  31.                                 System.out.print(object + "\t");
  32.                         }
  33.                         System.out.println();
  34.                 }
  35.                 }catch(SQLException ex){
  36.                         throw new RuntimeException(ex+"数据cha询失败");
  37.                 }
  38.         }
  39.         //数据表的添加数据
  40.         public static void insert(){
  41.                 //创建要执行的sql语句
  42.                 String sql = "INSERT INTO sort (sname,sprice,sdesc) VALUES (?,?,?)";
  43.                 Object[] params = {"水果",100.12,"今年刚刚上市的"};
  44.                 try{
  45.                 int row = qr.update(sql, params);
  46.                 System.out.println(row);
  47.                 }catch(SQLException ex){
  48.                         throw new RuntimeException(ex+"数据添加失败");
  49.                 }
  50.         }
  51.        
  52.        
  53. }
复制代码


  1. package com.wwangluo_jdbcutiles;

  2. import javax.sql.DataSource;

  3. import org.apache.commons.dbcp.BasicDataSource;

  4. /**
  5. * 用到的jar包: commons-dbcp-1.4.jar commons-dbutils-1.6.jar commons-pool-1.5.6.jar
  6. * mysql-connector-java-5.1.37-bin.jar
  7. */

  8. /*
  9. * 使用DBCP实现数据库的连接池 连接池配置 自定义类 最基本四项完整 对于数据库其他配置 自定义
  10. */
  11. public class JDBCUtiles {
  12.         // 先创建出BasicDataSource类对象
  13.         private static BasicDataSource datasource = new BasicDataSource();

  14.         // 定义静态代码块 对BasicDataSource对象中的配置,自定义
  15.         static {
  16.                 //连接数据库的信息 是必须配置的
  17.                 datasource.setDriverClassName("com.mysql.jdbc.Driver");
  18.                 datasource.setUrl("jdbc:mysql://localhost:3306/mybase");
  19.                 datasource.setUsername("root");
  20.                 datasource.setPassword("root");
  21.                 // 对象链接池中的数量进行配置 可选择
  22.                 datasource.setInitialSize(10);// 初始化的连接数
  23.                 datasource.setMaxActive(8);//最大连接数量
  24.                 datasource.setMaxIdle(8);// 最大空闲数
  25.                 datasource.setMinIdle(5);// 最小空闲数
  26.         }

  27.         // 定义静态方法 返回BasicDataSource的对象
  28.         // 调用这个方法就可以拿到这些数据
  29.         public static DataSource getDataSource() {
  30.                 return datasource;
  31.         }

  32. }
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表