zoukankan      html  css  js  c++  java
  • templet模式

    package template;

    import java.sql.Connection;
    import java.sql.ResultSet;

    /**
    * Created by marcopan on 17/9/26.
    */
    public abstract class QueryRunner {
    public abstract Connection createConnection();

    public abstract String createSQL();

    public abstract ResultSet runSQL(Connection conn, String sql);

    public ResultSet run() throws Exception {
    Connection conn = null;
    String sql = "";
    try {
    conn = this.createConnection();
    sql = this.createSQL();
    return runSQL(conn, sql);
    } finally {
    if (conn != null) {
    conn.close();
    }
    }
    }
    }

    package template;

    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;

    /**
    * Created by marcopan on 17/9/26.
    */
    public class OracleQueryRunner extends QueryRunner {

    @Override
    public Connection createConnection() {
    System.out.println("createConnection from OracleQueryRunner");
    return null;
    }

    @Override
    public String createSQL() {
    return "createSQL from OracleQueryRunner";
    }

    @Override
    public ResultSet runSQL(Connection conn, String sql) {
    System.out.println("runSQL from OracleQueryRunner");
    Statement st = null;
    try {
    st = conn.createStatement();
    return st.executeQuery(sql);
    } catch (SQLException e) {
    e.printStackTrace();
    } finally {
    if (st != null) {
    try {
    st.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
    return null;
    }
    }


    待补充:spring中的JdbcTemplate中用到的模板模式
  • 相关阅读:
    【学习笔记】查看CUDA版本
    如果Visual Studio太大,不妨还是用VSCode开发C#项目吧
    Visual Studio npm配置淘宝镜像
    c++读写锁--读者写者问题
    c++内存对象模型--vs2017下的分析,32位
    android作业
    android连接数据库
    android第十周(增删改查)
    android-购物车
    android计算器
  • 原文地址:https://www.cnblogs.com/panning/p/7668903.html
Copyright © 2011-2022 走看看