zoukankan      html  css  js  c++  java
  • 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+"	");
            }
        }
    /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+"	");
                }
                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();
            }
        }


       

    smile
  • 相关阅读:
    在金融服务计算中,必须要使用BigDecimal
    互联网发展的三个阶段
    k3 cloud服务器端安装顺序
    k3 cloud修改数据库密码后无法连接管理中心
    K3 CLOUD提示库存键重复,提示如下
    k3 cloud总账凭证提示冲突,清除冲突并且第二天开机以后依然提示
    k3 cloud注册插件的时候提示,请选择一个有效的插件程序集
    k3 cloud付款单提示余额不足,科目余额表中余额为正,银行存款流水账中未负数
    k3 cloud提示超出产品激活有效期
    k3 cloud在站点中新增用户
  • 原文地址:https://www.cnblogs.com/qiuqiu001/p/7956337.html
Copyright © 2011-2022 走看看