14.JdbcUtils框架

1.编写自己的JdbcUtils 框架

2.使用 dbUtils 框架

  1.视频中自己编写的JdbcUtils框架差不多就是dbUtils框架

  2.使用

    使用dbutils框架完成curd,以及批处理

    使用dbutils各种类型的处理器完成结果集的处理

 1 @Test
 2     public void find() throws SQLException {
 3         QueryRunner qr = new QueryRunner(JdbcUtils.getDataSource());
 4         String sql = "select * from user where id=?";
 5         Object params[] = { 2 };
 6         User user = (User) qr.query(sql, params, new BeanHandler(User.class));
 7         System.out.println(user.getBirthday());
 8     }
 9 
10     @Test
11     public void getAll() throws SQLException {
12         QueryRunner qr = new QueryRunner(JdbcUtils.getDataSource());
13         String sql = "select * from user";
14         List list = (List) qr.query(sql, new BeanListHandler(User.class));
15         System.out.println(list.size());
16     }

 

  1.需要一个数据库连接池(在utils类中new出)

  2.判断是否需要写参数(两种情况1.sql语句中有参数需要指定  2.一些处理器需要指定参数)

 

ArrayHandler(将结果集中的第一行数据封装到一个数组中)

ArrayListHandler (将结果集的每一行数据放在放在一个数组中,将这些数组放在一个List中)

BeanHandler(将结果集中的第一行数据封装到一个bean中)

BeanListHandler(将结果集中的每一行数据都封装到bean中,将这些bean放到一个List中)

ColumnListHandler(将结果集中指定列中的所有数据放在一个List中)

KeyedHandler(将结果集中的所有数据按照列名为键,数据为值放在Map集合中,再将这些Map集合作为值,指定的键为键 又放在一个大Map中)

MapHandler(将结果集中的第一行数据放在一个Map中 列名为键,数据为值)

MapListHandler(将结果集中的每一行数据放在Map中 ,多个Map放在一个List中)

ScalarHandler(把指定列的数据放在一个List中)

 

转载于:https://www.cnblogs.com/xuzekun/p/7359260.html

6月 06, 2025 1:13:23 下午 com.alibaba.druid.pool.DruidDataSource error 严重: {dataSource-1} init error java.sql.SQLException: com.mysql.cj.jdbc.Connection at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:683) at com.alibaba.druid.pool.DruidDataSource.resolveDriver(DruidDataSource.java:1222) at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:891) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1401) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1397) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:100) at com.nd.datasource.druid.DruidDemo1.main(DruidDemo1.java:27) Caused by: java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Connection at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:375) at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:681) ... 6 more Exception in thread "main" java.sql.SQLException: com.mysql.cj.jdbc.Connection at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:683) at com.alibaba.druid.pool.DruidDataSource.resolveDriver(DruidDataSource.java:1222) at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:891) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1401) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1397) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:100) at com.nd.datasource.druid.DruidDemo1.main(DruidDemo1.java:27) Caused by: java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Connection at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:375) at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:681) ... 6 more
最新发布
06-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值