JDBCUtils

Posted 球球啦啦啦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBCUtils相关的知识,希望对你有一定的参考价值。


使用properties配置文件
 位置:任意,src最佳
 名称:.properties结尾
 内容:key=value格式,value不支持中文,可用Unicode转换
 注释:#
创建配置文件:创建properties文件,写入键值对
加载配置文件:load()方法加载流->getProperty(key)获得值
读取配置文件:获取连接【执行一次,静态代码块】

JDBCUtils类(导包)
   定义:是java编程中的数据库操作实用工具,小巧简单实用
  
 事务:将多条sql语句包装成一个事务。
    执行成功,提交事务:commit(所有语句均成功 )
    执行失败,回滚事务:rollback(但凡一条语句不成功)
  
 三个核心功能介绍:
    QueryRunner:中提供对sql语句操作的API.
    ResultSetHandler接口:用于定义select操作后,怎样封装结果集.
    DbUtils类:工具类,定义了关闭资源与事务处理的方法
  
 QueryRunner的Update 实现添加、更新、删除操作
    Insert/delete/update
    【Update(Connection con,String sql,Object…param)】 
  步骤:
     连接数据库->创建QueryRunner对象->编写sql->调update()->处理结果集->释放资源
    调用QueryRunner()方法->ResultSetHandler r 结果集处理
  
    QueryRunner的Query 查询操作

  处理结果集8大方法
    ResultSetHandler结果集处理
       ArrayHandler:将结果集中的第一条记录封装到一个Object[]数组中
         【Object[] result = qr.query(con, sql, new ArrayHandler());】
       ArrayListHandler:每条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。
         【List<Object[]> result = qr.query(con, sql, new ArrayListHandler());】
   
     BeanHandler:将结果集中第一条记录封装成javaBean对象。
       【Sort s = qr.query(con, sql, new BeanHandler<Sort>(Sort.class));】
     BeanListHandler:将结果集中每一条记录封装到javaBean中,将这些javaBean在封装到List集合中
       【List<Sort> s = qr.query(con, sql, new BeanListHandler<Sort>(Sort.class));】(sort是一个根据数据库建的一个类)
   
     ColumnListHandler:将结果集中指定的列的字段值,封装到一个List<Object o>集合中
       【List<Object>list = qr.query(con, sql, new ColumnListHandler<Object>("列名"));】
    
     ScalarHandler:它是用于单数据。查询后只有一个结果集(一行一列)时使用
       【Object count = qr.query(con, sql, new ScalarHandler<Object>());】
   
     MapHandler:将结果集第一行封装到Map集合中,Key 列名, Value 该列数据
       【Map<String,Object> map = qr.query(con,sql,new MapHandler());】
     MapListHandler:将结果集第一行封装到Map集合中,Key 列名, Value 该列数据,Map集合存储到List集合
       【List<Map<String,Object>> list = qr.query(con,sql,new MapListHandler());】
   
   

//ArrayHandler处理集
    private static void arrayHandlerM() throws SQLException {
        Connection con = JDBCUtilsss.getConnection();
        //获取QueryRunner对象
        QueryRunner qr = new QueryRunner();
        //执行SQL语句
        String sql = "select * from sort";
        //调用query执行查询,传递连接对象,sql语句,结果集处理方式,返回一个对象数组
        Object[] result = qr.query(con, sql, new ArrayHandler());
        for (Object oo : result) {
            System.out.print(oo+"\t");
        }
    }
/ArrayListHandler处理结果集
    private static void arrayListHandlerM() throws SQLException {
        Connection con = JDBCUtilsss.getConnection();
        //获取QueryRunner对象
        QueryRunner qr = new QueryRunner();
        
        String sql = "select * from sort";
        //将获取的结果集存入集合,集合中存入每条语句构成的数组
        List<Object[]> result = qr.query(con, sql, new ArrayListHandler());
        
        for (Object[] objs : result) {
            for (Object obj : objs) {
                System.out.print(obj+"\t");
            }
            System.out.println();
        }
    }
//BeanListHandler
    private static void beanListHandlerM() throws SQLException {
        Connection con = JDBCUtilsss.getConnection();
        //获取QueryRunner对象
        QueryRunner qr = new QueryRunner();

        String sql = "select * from sort";
        List<Sort> s = qr.query(con, sql, new BeanListHandler<Sort>(Sort.class));
        for (Sort ss : s) {
            System.out.println(ss);
        }
    }
//ColumnListHandler
    private static void columnListHandlerM() throws SQLException {
        Connection con = JDBCUtilsss.getConnection();
        //获取QueryRunner对象
        QueryRunner qr = new QueryRunner();

        String sql = "select * from sort";
        List<Object>list = qr.query(con, sql, new ColumnListHandler<Object>("sname"));
        for (Object s : list) {
            System.out.println(s);
        }
    }
//ScalarHandler
    private static void scalarHandlerM() throws SQLException {
        Connection con = JDBCUtilsss.getConnection();
        //获取QueryRunner对象
        QueryRunner qr = new QueryRunner();

        String sql = "select count(*) from sort";
        Object count = qr.query(con, sql, new ScalarHandler<Object>());
        System.out.println(count);
    }
//MapListHandler
    private static void mapListHandlerM() throws SQLException {
        Connection con = JDBCUtilsss.getConnection();
        //获取QueryRunner对象
        QueryRunner qr = new QueryRunner();

        String sql ="select * from sort";
        List<Map<String,Object>> list = qr.query(con, sql, new MapListHandler());
        //获取到每个Map,遍历得到信息
        for (Map<String, Object> map : list) {
            for (Object keys : map.keySet()) {
                System.out.print(keys+".."+map.get(keys));
            }
            System.out.println();
        }
    }

 


   




















































以上是关于JDBCUtils的主要内容,如果未能解决你的问题,请参考以下文章

JdbcUtils工具类代码

JDBC3.工具类-JDBCUtils

JDBCUtils

工具类JdbcUtils

JavaWeb基础之JdbcUtils工具类2.0

Java 中封装JDBC连接到JDBCUtils工具类的详解