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中用到的模板模式
  • 相关阅读:
    紫书 例题 9-2 UVa 437 ( DAG的动态规划)
    紫书 例题 9-1 UVa 1025 ( DAG的动态规划)
    紫书 习题 10-44 UVa 11246 ( 容斥原理)
    2018 NOIP备战计划
    紫书 习题 10-32 UVa 1414 ( 迷之规律)
    HBase简介(很好的梳理资料)
    几种必知的oracle结构图
    hadoop之eclipse环境的配置
    ant&mvn的使用总结
    hadoop2.2.0安装
  • 原文地址:https://www.cnblogs.com/panning/p/7668903.html
Copyright © 2011-2022 走看看