1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > JDBC-Druid(MySQL)数据库连接池

JDBC-Druid(MySQL)数据库连接池

时间:2019-05-07 09:19:45

相关推荐

JDBC-Druid(MySQL)数据库连接池

1、导入依赖

<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.15</version></dependency>

2、resources下新建druid.properties配置文件

driverClassName=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/test?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=falseusername=rootpassword=123456# 初始化连接数量initialSize=5# 最大连接数maxActive=10# 最小空闲连接minIdle=5# 最大等待时间maxWait=3000

3、DruidUtil工具类

import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;public class DruidUtil {//定义成员变量 DataSource dataSourceprivate static DataSource dataSource;static {Properties properties = new Properties();InputStream inputStream = null;try {inputStream = DruidUtil.class.getClassLoader().getResourceAsStream("druid.properties");properties.load(inputStream);dataSource= DruidDataSourceFactory.createDataSource(properties);} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}finally {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}}// 获取DataSource对象,给JDBCTemplate提供public static DataSource getDataSource(){return dataSource;}// 获得连接public static Connection getConnection(){Connection connection = null;try {connection = dataSource.getConnection();} catch (SQLException e) {e.printStackTrace();}return connection;}// 关闭资源public static void closeAll(ResultSet resultSet, Statement statement, Connection connection){try {if(resultSet != null){resultSet.close();// 赋值null,gc垃圾回收机制会优先处理resultSet =null;}} catch (SQLException e) {e.printStackTrace();}try {if(statement != null){statement.close();statement=null;}} catch (SQLException e) {e.printStackTrace();}try {if(connection != null){connection.close();connection = null;}} catch (SQLException e) {e.printStackTrace();}}public static void close(Statement statement,Connection connection){try {if(statement != null){statement.close();statement=null;}} catch (SQLException e) {e.printStackTrace();}try {if(connection != null){connection.close();connection = null;}} catch (SQLException e) {e.printStackTrace();}}}

4、测试

public class Test {@Testpublic void test() {Connection conn = DruidUtil.getConnection();PreparedStatement pstmt = null;ResultSet rs = null;try {String testSql = "select id,name from user;";pstmt = conn.prepareStatement(testSql);rs = pstmt.executeQuery();while (rs.next()) {int id = rs.getInt("id");String name = rs.getString("name");System.out.println(id + ":" + name);}} catch (SQLException e) {e.printStackTrace();} finally {DruidUtil.closeAll(rs, pstmt, conn);}}}

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