从模板模式、策略模式等优化JDBC代码

一、使用模板模式优化

使用模板模式主要是利用面向对象的继承特征,即把代码不变的部分放在超类,变化的部分放在子类
具体如下:
优化查询操作、区分变化和不变的部分:
1、sql和ResultSet的处理是变化部分,创建和释放资源部分是不变部分。
2、提取超类,将不变的部分放入超类,变化的部分留给子类实现(可以写成抽象方法)
实现超类的代码如下:

public Object find(String sql, Object[] args) {
      …
      rs = ps.executeQuery();
      if (rs.next()) return rowMapper(rs); 
      …
    }
    protected abstract Object rowMapper(ResultSet rs);

二、使用策略模式优化

和模板模式的主要区别是变化的部分改为用接口实现,而不是重写方法。
1、优化查询操作,区分变化和不变的部分:sql和ResultSet的处理是变化的部分,创建和释放资源部分是不变的部分。
2、提取接口封装变化的部分。
3、主要操作代码如下:

public Object find(String sql, Object[] args, RowMapper rowMapper) {
        …
        rs = ps.executeQuery();
        if (rs.next())return rowMapper.mapRow(rs);
        …
    }
//回调的接口
public interface RowMapper {
        public Object mapRow(ResultSet rs) throws SQLException;
    }

在调用 find方法时可以用匿名类实现接口的方法:

find(sql, args, new RowMapper(){
  public Object mapRow(ResultSet rs) throws SQLException {
  //实现具体对象的分析结果的代码
} 
}); 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,482评论 25 708
  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 3,982评论 1 15
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 中国社会 智商也不如情商重要 消除冷安慰 不能表层安慰,不要考虑将来 承认别人的情感
    百合兔子阅读 75评论 0 0
  • 1 单元测试,小姑娘英语考了满分,她老师私下告知我了。放学我去接她,故意问她考试了吗?考了多少分?她叹了口气说,唉...
    素琴雅韵阅读 289评论 1 3