• DBUtils


    DBUitls是对jdbc简单的封装;
    核心运行类:QueryRunner
    构造方法:
      QueryRunner() //没有自动传入连接池,用于事务管理
      QueryRunner(DataSource ds)
    方法:(增删改用update,查用query)
      (sql语句中的参数用?作为占位符,Object...params为参数列表)
      int update(String sql,Object... params)
      int update(Connection conn,String sql,Object... params) //用于事务管理


      T query(String sql,ResultSetHandler<T> rsh,Object...params)
      T query(Connection conn,String sql,ResultSetHandler<T> rsh,Object...params) //用于事务管理


      int[] batch(String sql,Object[][]params) //批处理
      int[] batch(Connection conn,String sql,Object[][]params)
    事务相关类DBUtils
      方法:
        static void commitAndCloseQuietly(Connection conn)
        static void rollbackAndCloseQuietly(Connection conn)
      注意:在使用DBUtils中的事务的时候,得到Connection之后先setAutocommmit()。

    ResultSetHandler:(QueryRunner.query中接受结果集的类)

    使用自定义类接收数据:
      查询一条记录封装到自定义bean中:

     1 User user = qr.query("select * from user where id = ?", 1, new ResultSetHandler<User>() {
     2     @Override
     3     public User handle(ResultSet rs) throws SQLException {
     4     User user = new User();
     5         if (rs.next()) {
     6             user.setId(rs.getInt("id"));
     7             user.setUsername(rs.getString("username"));
     8         }
     9         return user;
    10     }
    11 });

      查询多条记录封装到自定义bean中:

     1 List list = qr.query("select * from user",new ResultSetHandler<List<User>>() {
     2     @Override
     3     public List handle(ResultSet rs) throws SQLException {
     4        List<User> list = new ArrayList<User>();
     5        while(rs.next()) {
     6             User user = new User();
     7             user.setId(rs.getInt("id"));
     8             user.setUsername(rs.getString("username"));
     9             list.add(user);
    10         }
    11     return list;
    12     }
    13 });            

    ResultSetHandler的实现类:
      ArrayHandler&&ArrayListHandler:将一条记录封装到一个Object数组中&&将多条记录封装到一个Object数组的集合中
      BeanHandler&&BeanListHandler:将一条记录封装到一个javabean中&&将多条记录封装到一个javabean的list集合中
      MapHandler&&MapListHandler:将一条记录封装到一个Map集合中&&将多条记录封装到一个装有Map的List集合中
      ColumnListHandler:将数据中的某一列封装到list集合中
      ScalarHandler:将单值封装

  • 相关阅读:
    银联测试
    mysql 往表中某个字段的字符串后追加字符串
    jsp通过js往后端传文字时乱码问题的解决
    artTemplate 如何遍历数据
    Error:java: Annotation processing is not supported for module cycles. Please ensure that all modules from cycle [kstore_goods_platform,kstore_goods,kstore_custom] are excluded from annotation processi
    递归方式实现二分查找
    递归与二分查找
    python内置函数
    函数的四种传参方式
    python基础(四)
  • 原文地址:https://www.cnblogs.com/laodang/p/9464882.html
Copyright © 2020-2023  润新知