Java 使用JDBC、DBCP、C3P0访问数据库
来源:互联网 发布:装系统需要网络吗 编辑:程序博客网 时间:2024/05/16 09:04
JDBC
@Test public void test1(){ Statement stmt = null; Connection conn = null; try { //1.驱动注册程序 --内部执行了RegisterDriver Class.forName("com.mysql.jdbc.Driver"); //2.获取连接对象 conn = DriverManager.getConnection(url, user, password); //3.创建Statement stmt = conn.createStatement(); //4.准备sql String sql = "CREATE TABLE student(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20),gender VARCHAR(2))"; //5.发送sql语句,执行sql语句,得到返回结果 int count = stmt.executeUpdate(sql); //6.输出 System.out.println("影响了"+count+"行!"); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } finally{ //7.关闭连接(顺序:后打开的先关闭) if(stmt!=null) try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException(e); } if(conn!=null) try { conn.close(); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException(e); } } }
DBCP
public class App_DBCP { // 1. 硬编码方式实现连接池 @Test public void testDbcp() throws Exception { // DBCP连接池核心类 BasicDataSource dataSouce = new BasicDataSource(); // 连接池参数配置:初始化连接数、最大连接数 / 连接字符串、驱动、用户、密码 dataSouce.setUrl("jdbc:mysql:///jdbc_demo"); //数据库连接字符串 dataSouce.setDriverClassName("com.mysql.jdbc.Driver"); //数据库驱动 dataSouce.setUsername("root"); //数据库连接用户 dataSouce.setPassword("root"); //数据库连接密码 dataSouce.setInitialSize(3); // 初始化连接 dataSouce.setMaxActive(6); // 最大连接 // 获取连接 Connection con = dataSouce.getConnection(); con.prepareStatement("delete from admin where id=3").executeUpdate(); // 关闭 con.close(); } @Test // 2. 【推荐】配置方式实现连接池, 便于维护 public void testProp() throws Exception { // 加载prop配置文件 Properties prop = new Properties(); // 获取文件流 InputStream inStream = App_DBCP.class.getResourceAsStream("db.properties"); // 加载属性配置文件 prop.load(inStream); // 根据prop配置,直接创建数据源对象 DataSource dataSouce = BasicDataSourceFactory.createDataSource(prop); // 获取连接 Connection con = dataSouce.getConnection(); con.prepareStatement("delete from admin where id=4").executeUpdate(); // 关闭 con.close(); } }
配置文件:
url=jdbc:mysql:///jdbc_demodriverClassName=com.mysql.jdbc.Driverusername=rootpassword=rootinitialSize=3maxActive=6
C3P0
public class App { @Test //1. 硬编码方式,使用C3P0连接池管理连接 public void testCode() throws Exception { // 创建连接池核心工具类 ComboPooledDataSource dataSource = new ComboPooledDataSource(); // 设置连接参数:url、驱动、用户密码、初始连接数、最大连接数 dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/jdbc_demo"); dataSource.setDriverClass("com.mysql.jdbc.Driver"); dataSource.setUser("root"); dataSource.setPassword("root"); dataSource.setInitialPoolSize(3); dataSource.setMaxPoolSize(6); dataSource.setMaxIdleTime(1000); // ---> 从连接池对象中,获取连接对象 Connection con = dataSource.getConnection(); // 执行更新 con.prepareStatement("delete from admin where id=7").executeUpdate(); // 关闭 con.close(); } @Test //2. XML配置方式,使用C3P0连接池管理连接 public void testXML() throws Exception { // 创建c3p0连接池核心工具类 // 自动加载src下c3p0的配置文件【c3p0-config.xml】 ComboPooledDataSource dataSource = new ComboPooledDataSource();// 使用默认的配置 // 获取连接 Connection con = dataSource.getConnection(); // 执行更新 con.prepareStatement("delete from admin where id=5").executeUpdate(); // 关闭 con.close(); } }
阅读全文
0 0
- Java 使用JDBC、DBCP、C3P0访问数据库
- Java 使用JDBC、DBCP、C3P0访问数据库
- JDBC JNDI DBCP C3P0
- java工程连接数据库(数据源dbcp/c3p0)
- Java数据库之C3P0和DBCP框架
- 数据库连性池性能测试(hikariCP,druid,tomcat-jdbc,dbcp,c3p0)
- 数据库连性池性能测试(hikariCP,druid,tomcat-jdbc,dbcp,c3p0)
- 数据库 JDBC使用 C3P0使用
- 使用DBCP,C3P0,druid,apache-jdbc配置JNDI数据源
- JDBC (c3p0、dbcp、jndi及不使用连接池)
- JDBC之连接池DBCP与c3p0的简单使用
- JDBC dbutils以及c3p0 dbcp连接池的使用
- Spring中使用JDBC,C3P0,DBCP的区别
- jdbc连接dbcp和c3p0
- JDBC 数据库连接池 -Dbcp -C3p0
- JDBC JNDI DBCP C3P0区别
- JDBC连接池 DBCP C3P0
- java基础-使用jdbc访问数据库
- 呕心沥血的电路实验
- 分享一套HTML教程,经典之作!
- Rxjava+retrofit2+OKHttp+GSON实践
- 文档分类的实现原理
- C++11使用make_shared的优势和劣势
- Java 使用JDBC、DBCP、C3P0访问数据库
- NSAttributedString
- 4.7(3)——画圆
- 漫漫编程路,且歌且行
- JavaEE部分面试题
- maven 学习(一)
- Tomcat热部署
- java作业
- 最新的CSS教程,可以参考下哦!