DBUtils用法详解01

来源:互联网 发布:日语网络 编辑:程序博客网 时间:2024/05/01 17:20

为了查询数据库方便,第三方给我们提供了架包DBUtils,这里就详细的介绍一下DBUtlis下比较常用的几个查询方法,这里我使用的是c3p0连接工具,当然还需要导入DBUtils和MySQL的架包,如图所示:

下边例句10个最常用的方法

1、ArrayHandler:适合取一条记录,如登录

public static void test1() throws SQLException{QueryRunner qr = new QueryRunner(C3P0Utils.getDateSource());String sql = "select password from user where username=?";Object[] arr = qr.query(sql, new ArrayHandler(),"zhangsan");for(int i =0;i<arr.length;i++){System.out.print(arr[i]+ " ");}}

2、ArrayListHandler:适合取多条记录,每一条记录都是Object[],再把Object[]放入list中,返回list

public static void test2() throws SQLException{QueryRunner qr = new QueryRunner(C3P0Utils.getDateSource());String sql = "select * from user";List<Object[]> list = qr.query(sql, new ArrayListHandler());for(int i = 0;i<list.size();i++){for(int j=0;j<list.get(i).length;j++){System.out.println(list.get(i)[j]+" ");}System.out.println();}}

3、ColumnListHandler:取某一列的数据,保存到list中,ColumnListHandler(2)参数传几即是第几列,如果不传参即默认为1

public static void test3() throws SQLException{QueryRunner qr = new QueryRunner(C3P0Utils.getDateSource());String sql = "select username,password from user";List<Object> list = qr.query(sql, new ColumnListHandler(2));for(int i=0;i<list.size();i++){System.out.println(list.get(i));}}
4、keyedHandler它取的是一个查询集合,返回一个map套map,每一条记录封装到一个map中,每一个字段又在map里的map中,即Map<Object,Map<String,Object>>

public static void test4() throws SQLException{QueryRunner qr = new QueryRunner(C3P0Utils.getDateSource());String sql = "select * from student";Map<Object,Map<String,Object>> map = qr.query(sql, new KeyedHandler());for(Map.Entry<Object, Map<String , Object>> m:map.entrySet()){System.out.println(m.getKey());for(Map.Entry<String, Object> mm:m.getValue().entrySet()){System.out.print(mm.getKey()+" "+mm.getValue());}System.out.println();System.out.println("---------------------------------");}}
5、MapHandler用来查询一条记录,多用于登录功能

public static void test5() throws SQLException{QueryRunner qr = new QueryRunner(C3P0Utils.getDateSource());String sql = "select * from student where sid=?";Map<String,Object> map = qr.query(sql, new MapHandler(),3);for(Map.Entry<String, Object> m:map.entrySet()){System.out.print(m.getKey()+" "+m.getValue());}}

以上是常见的五种DBUtils中的方法,剩下的5种在下篇文章中列出,谢谢观看


原创粉丝点击