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中用到的模板模式
  • 相关阅读:
    sublime开启vim模式
    git命令行界面
    搬进Github
    【POJ 2886】Who Gets the Most Candies?
    【UVA 1451】Average
    【CodeForces 625A】Guest From the Past
    【ZOJ 3480】Duck Typing
    【POJ 3320】Jessica's Reading Problemc(尺取法)
    【HDU 1445】Ride to School
    【HDU 5578】Friendship of Frog
  • 原文地址:https://www.cnblogs.com/panning/p/7668903.html
Copyright © 2011-2022 走看看