C3P0连接池
Maven仓库下载地址:(jar包)
https://mvnrepository.com/artifact/com.mchange/c3p0
https://mvnrepository.com/artifact/com.mchange/mchange-commons-java
如何配置C3P0
1.创建c3p0-config.xml(名称必须为c3p0-config.xml)
<?xml version="1.0" encoding="utf-8" ?> <c3p0-config> <default-config> <!--连接数据库的四大件--> <property name="user">root</property> <property name="password">Sys0626.</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/feige</property> <property name="driverClass">com.mysql.jdbc.Driver</property> <!--数据库连接池的参数--> <!--增量为3--> <property name="initialPoolSize">3</property> <!--池的最大连接数--> <property name="maxPoolSize">100</property> <!--池的最小连接数--> <property name="minPoolSize">2</property> </default-config> </c3p0-config>
2.创建一个类,测试获取数据库连接对象
public static void main(String[] args) throws SQLException { //ComboPooledDataSource的无参构造方法会默认寻找src目录下的c3p0-config.xml文件 ComboPooledDataSource ds = new ComboPooledDataSource("c3p0-config.xml"); Connection connection = ds.getConnection(); //成功获取到数据库连接对象 System.out.println(connection); }
DBUtils 工具类的使用
Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能
DBUtils工具下载
在Maven仓库中下载.jar以及依赖:
https://mvnrepository.com/artifact/commons-dbutils/commons-dbutils
QueryRunner
QueryRunner中包含4个构造方法:
public QueryRunner() { } public QueryRunner(boolean pmdKnownBroken) { super(pmdKnownBroken); } public QueryRunner(DataSource ds) { super(ds); } public QueryRunner(DataSource ds, boolean pmdKnownBroken) { super(ds, pmdKnownBroken); }
如何使用?
首先声明JDBC的四大件(driver,url,user,password) 创建QueryRunner对象 使用QueryRunner中的方法操作数据库 通过使用QueryRunner的无参构造/** * 使用QueryRunner向数据库中添加一条数据 */ public static void main(String[] args) { String driver = "com.mysql.jdbc.Driver";// 驱动路径 String url = "jdbc:mysql://localhost:3306/feige";// 数据库地址 String user = "root";// 访问数据库的用户名 String password = "Sys0626.";// 用户密码 try { Class.forName(driver); //创建连接对象 Connection conn = DriverManager.getConnection(url,user,password); //1.创建QueryRunner对象 QueryRunner queryRunner = new QueryRunner(); String sql = "insert into user(uid,uname,upwd,utel) value(?,?,?,?)"; //2.使用QueryRunner中的update()方法,传递连接对象、SQL语句、给?占位符赋值的数据 int nums = queryRunner.update(conn,sql,6,"卡卡","123","61231244354"); System.out.println("成功插入"+nums+"条数据"); } catch (Exception e) { e.printStackTrace(); } }通过使用QueryRunner的有参构造
public static void main(String[] args) { String driver = "com.mysql.jdbc.Driver";// 驱动路径 String url = "jdbc:mysql://localhost:3306/feige";// 数据库地址 String user = "root";// 访问数据库的用户名 String password = "Sys0626.";// 用户密码 try { Class.forName(driver); //创建连接对象 Connection conn = DriverManager.getConnection(url,user,password); //1.创建QueryRunner对象 QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource()); String sql = "select * from user"; //2.使用QueryRunner中的query()方法,传递连接对象、SQL语句、给?占位符赋值的数据 List<Map<String, Object>> query = queryRunner.query(conn, sql, new MapListHandler()); //遍历集合 query.forEach(i -> System.out.println(i)); } catch (Exception e) { e.printStackTrace(); } }
ArrayHandler:将结果集中的第一条记录封装到Object[]数组中,数组中的每一个元素即使这条记录中的每一个字段的值 ArrayListHandler:将结果集中的每一条记录封装到Object[]数组中,将这些数组再封装到List集合中 BeanHandler:将结果集中的第一条记录封装到一个指定的javabean中 BeanListHandler:将结果集中每一条记录封装到javabean中,将这些javabean再封装到List集合中 ColumnListHandler:将结果集中指定列的字段值封装到一个List集合中 KeyedHandler:将结果集中的每一条记录封装到Map<String,Object>,再讲这个map集合作为另一个Map的value,另一个Map集合的key是指定的字段的值 MapHandler:将结果集中的第一条记录封装到Map<String,Object>集合中,key就是字段名称,value就是字段的值 MapListHandler:将结果集中的每一条记录封装到Map<String,Object>集合中,key就是字段名称,value就是字段的值,再将这些Map封装到List集合中 ScalarHandler:它是用于单数据,列如:select count(1) from 表操作
C3P0及DBUtils工具类
标签:数据库连接 工具 stack arraylist 文件 工具类 reac value https
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did118241