如何使用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 {
}
}
}