• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
KYS_01
博客园    首页    新随笔    联系   管理    订阅  订阅
DBCP数据库连接池技术的两种实现方式

一、

  导入相应的jar包,

方式一如下

 

 二、

  DataSource source = null;不管是C3P0还是DBCP或者其他数据库连接池第一步都是DataSource source = null,Ctrl+T 获取DataSource实现的类,找到BasciDataSource的构造方法,

BasicDataSource source = new BasicDataSource();//创建DBCP的数据库连接池

 具体有什么方法可以查看API文档  查看文档的方法:在commons-pool-1.5.5\apidocs\index.html里查看

三、设置基本信息

查看API文档 source调用相应额set方法

source.setDriverClassName("com.mysql.jdbc.Driver");
source.setUrl("jdbc:mysql://localhost:3306/test?serverTimezone=UTC");
source.setUsername("root");
source.setPassword("123");

四、设置其他涉及数据库连接池相关管理的属性

 方式二使用配置文件如下

一、查API,BasicDataSourceFactory

BasicDataSourceFactory.createDataSource(Properties properties)需要注意的是如果直接这么写的话参数不是Properties而是args,此时需要导入源码commons-dbcp-1.4-src.zip

BasicDataSourceFactory.createDataSource(properties);到这里就需要创建一个Properties的对象即配置文件,创建文件写好配置信息,

username=root
password=123
url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC
driverClassName=com.mysql.jdbc.Driver

 

用properties.load方法加载配置文件,

FileInputStream is = new FileInputStream(new File("src/dbcp.properties"));//和下边的方法的区别就是这个方法的目录需要加上src/    因为这个方法创建字符流对象默认是在当前项目下
properties.load(is);

或者InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("dbcp.properties");用类的加载器获取字符流对象然后加载

        Properties properties = new Properties();
        //InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("dbcp.properties");
        FileInputStream is = new FileInputStream(new File("src/dbcp.properties"));
        properties.load(is);
        DataSource dataSource = BasicDataSourceFactory.createDataSource(properties);
        Connection con = dataSource.getConnection();
        System.out.println(con);

 

posted on 2020-04-14 17:15  KYS_01  阅读(367)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3