DBUTILS
dbutils是apeach公司 封装了jdbc的jar包用来 便捷操作数据库:
核心类:QueryRunnner -----> 核心方法:query()查询 update()增删改
具体使用:1.导入jar包 添加为依赖
2.使用Mvc三层设计建立包Service ,View,Dao 另外还需要建立实体类,实体类的作用是用来与表中数据相对应
将数据封装在实体类对象中便于对其操作
2.在Dao层编写相关的接口和方法 用于与数据库连接并操作数据库
3.在Service层编写相应的接口和方法 调用 Dao层的方法来进行 逻辑操作。
4.在View层调用Service层方法 将返回的数据进行页面展示.
具体代码细节:
//创建连接池 以c3p0为例:
DataSource ds =new ComboPooledDataSouce();
//创建QueryRunner对象:需要传入连接池对象
QueryRunner qr =nw QueryRunner(ds );
ds.update() //增删改操作 返回的是int值 表示影响的行数
ds.query() // 查询操作 根据参数列表的不同返回值类型也不同 ,分为一下几类:
一 ,ArrayHandler -> 将结果第一行存储到对象数组中
示例: Object[] result = runner.query(sql,new ArrayHandler());
二,ArrayListHandler -> 将结果集的每一行,封装到对象数组中,对象数组存储在List集合中
示例:List<Obejct[]> list = runner.query(sql,new ArrayListHandler());
三,BeanHandler -> 将结果集的第一行数据,封装成JavaBean对象(必须带有空参构造函数)
示例:User user = runner.query(sql,new BeanHandler<User>(User.class));
四,BeanListHandler -> 将结果集的每一行数据,封装成JavaBean对象,并把所有的对象存储到List集合中
示例:List<User> list = runner.query(sql,new BeanListHandler<User>(User.class));
五,ColumnListHandler -> 存储指定列数据的结果集 存储到List集合中 每一列的数据类型不一样 List的存储类型应该是Object
示例:List<Object> list = runner.query(sql,new ColumnListHandler<Object>("c_name"));
六,ScalarHandler -> 查询后只返回一个结果 ,(比如查询总列数)
示例:int count = runner.query(sql,new ScalarHandler<Integer>());
七,MapHandler -> 将结果集的第一行数据,封装在Map集合中,Map(列名,Value)的形式存储
示例:Map<String,Object> map = runner.query(sql,new MapHandler());
八,MapListHandler -> 将结果集的每一行数据,以Map<列名,Value>封装在Map集合中,并将所有的Map集合存储在List中
示例:List<Map<String,Object>> list = runner.query(sql,new MapListHandler());