900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > JDBC---2. 如何获取数据库连接-使用Druid数据库连接池(IDEA版本)

JDBC---2. 如何获取数据库连接-使用Druid数据库连接池(IDEA版本)

时间:2019-03-27 02:20:14

相关推荐

JDBC---2. 如何获取数据库连接-使用Druid数据库连接池(IDEA版本)

2.1 Druid(德鲁伊)数据库连接池

Druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、Proxool等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池,可以说是目前最好的连接池之一。

方式一:未使用配置文件 使用Druid数据库连接池实现数据库的连接DataSource作为数据库连接池技术的起始点。即要在不同的数据库连接池技术中,获取此数据源的实现类

@Testpublic void test1() throws SQLException {//建议使用try-catch//1. DataSource的实例化DruidDataSource dataSource = new DruidDataSource();//2.设置获取连接的基本参数dataSource.setUsername("root");dataSource.setPassword("abc123");dataSource.setUrl("jdbc:mysql://localhost:3306/test");dataSource.setDriverClassName("com.mysql.jdbc.Driver");//3. 配置其他的参数dataSource.setInitialSize(8);dataSource.setMaxActive(100);//...//4.获取连接Connection connection = dataSource.getConnection();System.out.println(connection);}

方式一:使用配置文件

//方式二:使用配置文件@Testpublic void test2() throws Exception {//建议使用try-catch//1.加载配置文件Properties pros = new Properties();InputStream is = DruidTest.class.getClassLoader().getResourceAsStream("druid.properties");pros.load(is);//2. 使用配置文件,返回DataSource的实例DataSource dataSource = DruidDataSourceFactory.createDataSource(pros);//3. 获取连接Connection connection = dataSource.getConnection();System.out.println(connection);}

其中,src下的配置文件为:【druid.properties】

url=jdbc:mysql://localhost:3306/test?rewriteBatchedStatements=trueusername=rootpassword=123456driverClassName=com.mysql.jdbc.DriverinitialSize=10maxActive=20maxWait=1000filters=wall

详细配置参数:

将使用Druid的方式二封装到工具类:JDBCUtils

package com.atguigu.jdbc1.util;import com.alibaba.druid.pool.DruidDataSourceFactory;import com.atguigu.jdbc1.druid.DruidTest;import javax.sql.DataSource;import java.io.InputStream;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;/*** 获取数据库连接和关闭数据库连接的工具类* @create 上午 11:47*/public class JDBCUtils {private static DataSource dataSource;//只有一个数据源static{//静态代码块//1.加载配置文件Properties pros = new Properties();InputStream is = DruidTest.class.getClassLoader().getResourceAsStream("druid.properties");try {pros.load(is);//2. 使用配置文件,返回DataSource的实例dataSource = DruidDataSourceFactory.createDataSource(pros);} catch (Exception e) {e.printStackTrace();}}/*** 获取数据库的连接* @return 返回数据库连接* @throws Exception*/public static Connection getConnection() throws Exception {//3. 获取连接Connection connection = dataSource.getConnection();return connection;}/*** 关闭连接的操作* @param connection*/public static void close(Connection connection){if (connection != null) {try {connection.close();} catch (SQLException e) {e.printStackTrace();}}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。