美文网首页
DAO层代码优化

DAO层代码优化

作者: stutterr | 来源:发表于2017-07-23 22:28 被阅读110次

DAO层代码重复的很多,可以使用模板方法进行优化

1. 首先再目录下再定义一个包common
2. 再在报下新建接口JDBCCallback
public interface JDBCallback<T> {

   T reToObject(ResultSet rs) throws SQLException;
   void setParams(PreparedStatement stmt) throws SQLException;  //设置参数

}
3. 在包下新建一个抽象类JDBCAbstractCallBack
public abstract class JDBCAbstractCallBack<T> implements JDBCCallBack<T> {

   @override
   public T reToObject(ResultSet rs){
       return null;
   };
   public setParams(PreparedStatement stmt){
         return null;
   };
}
4. 再在包下再新建一个类JDBCTemplate1<T> (采用泛型)
public class JDBCTemplate<T> {

   public List<T> query(String sql, JDBCCallback<T> jdbcCallback) {
       Connection conn = null;
       PreparedStatement stmt = null;
       ResultSet rs = null;
       List<T> data = new ArrayList<T>();
       try {
           conn = DBUtil.getConnection();
           stmt = conn.preparedStatement(sql);

           rs = stmt.excuteQuery();
                       while(rs.next()) {
                           T object = jdbcCallback.rsToObject(rs);
                            data.add(object);
                       }

       } catch (SQLException e) {
           e.printStackTrace();
       } finally {
           DBUtil.close(rs, stmt, conn);
       }

       return data;
   }
} 
5. 在DAO中调用
JDBCTemplate<Book> jdbcTemlate = new JDBCTemplate<Book>();
jdbcTemlate.query(sql, new JDBCAbstractCallBack<Book>(){
         @override
         public Book rsToObject(ResultSet rs) throws SQLException {
              Book book = new Book();
              book.setxxxx(rs.getXXX(xxx));
              return book;
         }
  }  );

相关文章

  • DAO层代码优化

    DAO层代码重复的很多,可以使用模板方法进行优化 1. 首先再目录下再定义一个包common 2. 再在报下新建接...

  • Dao层代码

  • idea 自动生成代码

    根据表结构自动生成dao层代码

  • 分页的后台代码实现

    web层servlet代码: service层代码: dao层代码: 对于商品显示页面一般要定义的实体类变量:

  • SpringBoot + thymeleaf 实现简单的登陆验证

    sql语句 使用mybatis插件自动生成代码 dao层· peopleMapper.xml service层 c...

  • idea模板快速生成公共代码

    在平常的开发中,我们经常要写Dao,Service,Controller层,而每层都有些共用的代码,其中Dao中的...

  • 少数派主要代码

    思维导图 Card类 RightCard类 User类 DAO层 Controller层 页面主要代码 效果图

  • mybatis-generator:mysql-connecto

    MBG自动生成mysql dao层 mapper层 pojo层,不用再自己写mysql代码了(好像还得写),不过可...

  • DAO层

    DAO层 DAO 是 Data Access Object(数据访问对象的缩写),DAO层是业务逻辑层与数据库层之...

  • 工程结构

    三大层: DAO层: DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO...

网友评论

      本文标题:DAO层代码优化

      本文链接:https://www.haomeiwen.com/subject/odzmkxtx.html