1.定义:
数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。
优点:
节省创建连接与释放连接 性能消耗连接池中连接起到复用的作用 ,提高程序性能
2.java数据包:c3p0-0.9.5.2.jar mchange-mons-java-0.2.15.jar
3.配置文件:
命名方式:c3p0.properties(固定格式)
配置内容:
c3p0.driverClass=.mysql.jdbc.Driverc3p0.jdbcUrl=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8c3p0.user=rootc3p0.password=1234564.代码: 4.1使用数据池进行连接
package .doit.jdbc.demo;import .mchange.v2.c3p0.ComboPooledDataSource;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class c3p0demo01 {public static void main(String[] args) throws SQLException {ComboPooledDataSource m = new ComboPooledDataSource();Connection conn = m.getConnection();String sql = "select * from stu";PreparedStatement ps = conn.prepareStatement(sql);ResultSet rs = ps.executeQuery();while (rs.next()){String id = rs.getString("id");String name = rs.getString("name");String gender = rs.getString("gender");System.out.println(id+" "+name+" "+gender);}}
}
4.2 优化创建数据池连接对象的方式,进行增删改查
java包:mons-dbutils-1.6.jar mons-pool-1.5.6.jar
package .doit.jdbc.demo;import .mchange.v2.c3p0.ComboPooledDataSource;
import .apache.mons.dbutils.QueryRunner;import java.sql.SQLException;public class c3p0Demo02 {public static void main(String[] args) throws SQLException {ComboPooledDataSource cp = new ComboPooledDataSource();QueryRunner qr = new QueryRunner(cp);//增删改查//增String inser_sql = "insert into stu values(null,?,?)";int ins_line = qr.update(inser_sql, "小黑", "F");System.out.println(ins_line);//删String delete_sql ="delete from stu where name=?";int delete_line = qr.update(delete_sql, "小黑");System.out.println(delete_line);//改String update_sql= "update stu set gender =? where id=? ";int update_line = qr.update(update_sql, "F", "3");System.out.println(update_line);}
}
更多推荐
数据,mysql
发布评论