在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1.数据库连接池概念
2.实现数据库连接池要创建数据库连接池要实现 java.sql包下的 DataSource 接口。此接口有一个方法 getConnection() 可以获得数据库连接对象。 一般这个接口不由我们去实现,有数据库厂商来实现: 常见有 C3P0 和 druid 。 其中druid是由阿里巴巴提供的。
3.C3P0数据库连接池技术(1)导入jar包 (两个) c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar。当然还有jdbc的包 (2)定义配置文件
配置文件样本: <c3p0-config> <!-- 使用默认的配置读取连接池对象 --> <default-config> <!-- 连接参数 --> <property name="driverClass">com.mysql.cj.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/database</property> <property name="user">root</property> <property name="password">xxx</property> <!-- 连接池参数 --> <property name="initialPoolSize">5</property> <property name="maxPoolSize">10</property> <property name="checkoutTimeout">3000</property> </default-config> <named-config name="otherc3p0"> <!-- 连接参数 --> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/database</property> <property name="user">root</property> <property name="password">xxx</property> <!-- 连接池参数 --> <property name="initialPoolSize">5</property> <property name="maxPoolSize">8</property> <property name="checkoutTimeout">1000</property> </named-config> </c3p0-config> (3)创建数据库连接池对象 ComboPooledDataSource (4)获取连接: getConnection 示例: public class Demo1 { public static void main(String[] args) throws SQLException { ComboPooledDataSource cpd = new ComboPooledDataSource(); // 另一个构造方法可以加参数,表示用配置文件的<named-config></named-config>里面的配置 Connection connection = cpd.getConnection(); System.out.println(connection); } }
4.Druid数据库连接技术(1)导入jar包 druid-1.0.9.jar (2)定义配置文件:是properties形式的,可以叫任意名称,可以放在任意目录下 (3)加载配置文件。Properties (4)获取数据库连接池对象:通过工厂来来获取 DruidDataSourceFactory (5)获取连接:getConnection 示例: 配置文件:
代码: public class Demo2 { public static void main(String[] args) throws Exception { // 加载配置文件 Properties properties = new Properties(); InputStream is = Demo2.class.getClassLoader().getResourceAsStream("druid.properties"); properties.load(is); //获取连接池对象 DataSource ds = DruidDataSourceFactory.createDataSource(properties); // 获取连接 Connection connection = ds.getConnection(); System.out.println(connection); } }
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论