一.原生JDBC连接步骤:
//1.注册数据库驱动 //com.MySQL.jdbc.Driver Class.forName("数据库驱动的完整类名"); //2.获取数据库连接 Connection conn = DriverManager.getConnection("连接url" , "用户名" ,"密码" ); //3.创建一个会话 Preparedstatement ps = null; /4.执行SQL语句,增加,删除,修改记录 ps.executeUpdate("增加,删除,修改记录的SQL语句"); //或者 查询语句 ResultSet rs = ps.executeQuery("查询记录的SQL语句"); //5.处理查询结果集 while(rs.next()){ //对记录的操作 } //6.关闭连接 rs.close(); ps.close(); conn.close();
2.使用C3P0
资源文件
driverClass = com.mysql.jdbc.Driver url = jdbc:mysql://localhost:3306/test username = root password = 123456
建立连接
ComboPooledDataSource cpds = new ComboPooledDataSource(); // 加载数据库驱动 try { cpds.setDriverClass("com.ibm.db2.jcc.DB2Driver"); } catch (PropertyVetoException e1) { e1.printStackTrace(); } // 设置访问数据库的地址、用户名和密码 cpds.setJdbcUrl("jdbc:db2://10.10.38.138:50000/malltest"); cpds.setUser("db2inst1"); cpds.setPassword("db2inst1"); // 设置C3P0的一些配置,不设置则使用默认值 cpds.setMinPoolSize(5); cpds.setAcquireIncrement(5); cpds.setMaxPoolSize(20); cpds.setMaxStatements(180); Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 创建数据库连接 conn = cpds.getConnection(); // 获取数据库操作对象 stmt = conn.createStatement(); // 操作数据库获取结果集 rs = stmt.executeQuery("select * from ly.t_merinf where merid='M0000178'"); // 处理结果集 while (rs.next()) { System.out.println(rs.getString("mername")); } } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭结果集 if(rs != null) { try { rs.close(); } catch (SQLException e) { } } // 关闭数据库操作对象 if(stmt != null) { try { stmt.close(); } catch (SQLException e) { } } // 关闭数据库连接 if(conn != null) { try { conn.close(); } catch (SQLException e) { } } try { DataSources.destroy(cpds); } catch (SQLException e) { e.printStackTrace(); } }
3.使用DBCP
配置文件
driverClassName=com.ibm.db2.jcc.DB2Driver url=jdbc:db2://10.10.38.138:50000/malltest username=db2inst1 password=db2inst1 initialSize=3 maxActive=5 maxIdle=3 minIdle=1 maxWait=30000
连接数据库
// 1.创建连接池 DataSource ds = null; try { Properties prop = new Properties(); // 通过类路径来加载属性文件 prop.load(DbcpTest.class.getClassLoader().getResourceAsStream("database/dbcp/dbcp.properties")); // 获取数据源 ds = BasicDataSourceFactory.createDataSource(prop); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 2.获取数据库连接 conn = ds.getConnection(); // 3.创建数据库操作对象 stmt = conn.createStatement(); // 4.操作数据库获取结果集 rs = stmt.executeQuery("select * from ly.t_merinf where merid='M0000178'"); // 5.处理结果集 while (rs.next()) { System.out.println(rs.getString("mername")); } } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭结果集 if(rs != null) { try { rs.close(); } catch (SQLException e) { } } // 关闭数据库操作对象 if(stmt != null) { try { stmt.close(); } catch (SQLException e) { } } // 关闭数据库连接 if(conn != null) { try { conn.close(); } catch (SQLException e) { } } }