zoukankan      html  css  js  c++  java
  • 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:将单值封装

  • 相关阅读:
    位置定位 api
    代理相关
    手机网页 右边的空白区
    sip介绍
    测试浏览器对html5支持
    sencha touch
    PC上的手机模拟器大全(安卓/苹果/黑莓/塞班/微软)
    测试视频
    android 环境配置 与 运行错误
    android 一年过期
  • 原文地址:https://www.cnblogs.com/laodang/p/9464882.html
Copyright © 2011-2022 走看看