如何使用Druid连接池?
Druid是阿里巴巴研发的一个开源项目,可以监控数据库访问性能,Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。扩展了JDBC功能。
使用非常简单,可以与Spring框架进行快速整合。
1、 使用连接池
a) 导入Druid的jar包
导入过程我就不说了
b) 创建DruidDataSource对象:DruidDataSource dataSource=new DruidDataSource();
c) 设置连接参数
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/javaweb_day08");
dataSource.setUsername("root");
dataSource.setPassword("123456");
代码实现------自己配置文件
package jdbc_datasource_Utils; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidPooledConnection; import myUtils.MyUtils; public class DruidDemo01 { public static void main(String[] args) throws SQLException{ Connection conn=null; PreparedStatement ps=null; ResultSet rs=null; try { //1,创建Druid连接池对象 DruidDataSource dataSource = new DruidDataSource(); //2,为数据库添加配置文件 dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/mytest-day08"); dataSource.setUsername("root"); dataSource.setPassword("123"); //工具类中获得连接 //conn = MyUtils.getConnertion01(); //用Druid来连接 conn = dataSource.getConnection(); //2,执行数据库语句 String sql="SELECT * FROM accoumt"; //3,用prepareStatement获取sql语句 ps=conn.prepareStatement(sql); //4,执行sql语句,查询用executeQuery,增删改用executeUpdate rs=ps.executeQuery(); while (rs.next()) { System.out.println(rs.getInt("id")+" "+rs.getString("name")+" "+rs.getDouble("money")); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally { //释放资源 conn.close(); } } }
//使用配置文件.properties来配置文件
package jdbc_datasource_Utils; import java.io.FileInputStream; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Properties; import javax.sql.DataSource; import org.junit.Test; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidDataSourceFactory; import myUtils.MyUtils; public class DruidDemo02 { @Test public void demo02(){ Connection conn=null; PreparedStatement ps=null; ResultSet rs=null; try { //使用配置文件来配置文件 Properties pr = new Properties(); pr.load(new FileInputStream("druid.properties")); DataSource dataSource = DruidDataSourceFactory.createDataSource(pr); //1,创建Druid连接池对象 //DruidDataSource dataSource = new DruidDataSource(); //dataSource.setDriverClassName("com.mysql.jdbc.Driver"); //dataSource.setUrl("jdbc:mysql://localhost:3306/mytest-day08"); //dataSource.setUsername("root"); //dataSource.setPassword("123"); //工具类中获得连接 //conn = MyUtils.getConnertion01(); //用Druid来连接 conn = dataSource.getConnection(); //2,执行数据库语句 String sql="SELECT * FROM accoumt"; //3,用prepareStatement获取sql语句 ps=conn.prepareStatement(sql); //4,执行sql语句,查询用executeQuery,增删改用executeUpdate rs=ps.executeQuery(); while (rs.next()) { System.out.println(rs.getInt("id")+" "+rs.getString("name")+" "+rs.getDouble("money")); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally { } } }