`
茶是树叶
  • 浏览: 61334 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Template method

阅读更多
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.beforespring.template;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author Administrator
 */
public class Template {
    public void executeWithNativeMethod(MyJDBCCallback myJDBCCallback){
        Connection connection=null;
        PreparedStatement ps=null;
        ResultSet rs=null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/test");
            myJDBCCallback.doInJDBC(connection,ps,rs);
            connection.commit();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            if(rs!=null){
                try {
                    rs.close();
                } catch (SQLException ex) {
                }
                rs=null;
            }
            if(ps!=null){
                try {
                    ps.close();
                } catch (SQLException ex) {
                }
                ps=null;
            }
            if(connection!=null){
                try {
                    connection.close();
                } catch (SQLException ex) {
                }
                connection=null;
            }
        }
    }
    
}


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.beforespring.template;

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

/**
 *
 * @author Administrator
 */
public interface MyJDBCCallback {
    public void doInJDBC(Connection connection,PreparedStatement ps,ResultSet rs);
}


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.beforespring.template;

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

/**
 *
 * @author Administrator
 */
public class OperationDB {
    public void saveUser(final User user){
        new Template().executeWithNativeMethod(new MyJDBCCallback() {

            public void doInJDBC(Connection connection, PreparedStatement ps, ResultSet rs) {
                try {
                    ps = connection.prepareStatement("");
                    ps.execute();
                } catch (SQLException ex) {
                }
                
            }
        });
}}


分享到:
评论

相关推荐

    TemplateMethod.rar

    标题“TemplateMethod.rar”暗示了这个压缩包包含的是关于Qt平台上实现模板方法设计模式的示例代码。Qt是一个跨平台的应用程序开发框架,常用于创建GUI程序,但也可用于非图形化的后台服务。 描述中的“模板方法...

    TemplateMethod.zip

    这个压缩包"TemplateMethod.zip"包含了关于C++实现模板方法设计模式的代码示例。 模板方法模式的核心思想是定义一个操作中的算法骨架,而将一些步骤延迟到子类中。它允许子类不改变一个算法的结构即可重定义该算法...

    设计模式C++学习之模板方法模式(Template Method)

    在这个例子中,`AbstractClass`是模板类,定义了`templateMethod`模板方法,它调用了`primitiveOperation1`、`primitiveOperation2`以及组件(Component)的`operation`方法。`ConcreteComponentA`和`...

    20-Template Method.rar

    模板方法(Template Method)设计模式是一种行为型设计模式,它在面向对象编程中扮演着重要的角色。这个模式允许我们定义一个操作中的算法骨架,而将一些步骤延迟到子类中。这样,子类可以不改变一个算法的结构即可...

    TemplateMethod 模式与代码重构

    TemplateMethod(模板方法)设计模式是一种行为设计模式,它在面向对象编程中扮演着重要的角色。这个模式允许我们在抽象类中定义一个算法的框架,同时允许子类在不改变算法结构的情况下重写算法中的特定步骤。通过...

    C++设计模式课件3_Template Method_模板方法.pdf

    ### C++设计模式课件3_Template Method_模板方法 #### 模板方法设计模式解析 模板方法模式(Template Method Pattern)是一种行为型设计模式,它允许我们定义算法的骨架,并将部分步骤推迟到子类中实现。这种模式...

    Head First 设计模式 (八) 模板方法模式(Template Method pattern) C++实现

    在这个例子中,`AbstractClass`定义了`templateMethod`模板方法,其中`step1()`是具体实现,而`step2()`和`step3()`作为抽象方法由`ConcreteClass1`和`ConcreteClass2`这两个具体类来实现。这样,不同的具体类可以...

    Discovering Template Method Pattern in Google Android framework

    模板方法模式(Template Method Pattern)在Google Android框架中的应用是一个重要的设计模式实例,它允许开发者定义一个算法骨架,而将一些步骤延迟到子类中。这个模式的关键在于它定义了一个操作中的算法步骤,并...

    C++设计模式代码资源3_Template Method_模板方法.zip

    "模板方法"(Template Method)是设计模式中的一个经典概念,它属于行为设计模式,主要用在父类中定义一个算法的框架,允许子类在这个框架内重定义特定的步骤。这个模式通常用于代码复用和保持代码结构的一致性。 ...

    TemplateMethod Pattern.unitypackage

    TemplateMethod Pattern.unitypackage是一个模板方法模式的小栗子。

    template-method-demo 模板方法示例

    在"template-method-demo"这个示例中,我们可以预见到它将展示如何在Java中应用模板方法模式。这个压缩包可能包含以下内容: 1. 一个抽象类(例如:`AbstractClass`),它定义了模板方法。在这个类中,可能会有一个...

    .NET设计模式(16):模版方法(TemplateMethod)

    摘要:Template Method模式是比较简单的设计模式之一,但它却是代码复用的一项基本的技术,在类库中尤其重要。变化一直以来都是软件设计的永恒话题,在XP编程中提倡拥抱变化,积极应对。如何更好的去抓住变化点,...

    C#中的TemplateMethod模式问题分析

    TemplateMethod模式是一种行为设计模式,它允许在定义算法框架的同时,允许子类为算法的特定步骤提供实现。这种模式在C#中广泛应用于创建可扩展的代码结构,使得父类可以控制算法的流程,而具体的操作则由子类来完成...

    模板方法模式(TemplateMethod)原理图

    模板方法模式是一种行为设计模式,它在一个方法中定义算法的骨架,将一些步骤延迟到子类中实现。 具体来说,模板方法模式的关键特点包括: 抽象类:在抽象类中定义一个模板方法,该方法给出了算法的框架。...

    【原创】Open close principle sample, state pattern, template method pattern

    在软件设计领域,设计模式是解决常见问题的可重用解决方案。它们是经过验证的、在特定上下文中高效的设计决策,被广泛应用于构建可维护和可扩展的软件系统。本篇将深入探讨“开闭原则”(Open Close Principle,OCP...

    C#模板方法模式(Template Method Pattern)实例教程

    模板方法模式(Template Method Pattern)是一种行为设计模式,它允许在定义算法的框架时,将具体步骤延迟到子类中。这种模式的核心在于抽象类,它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。子类可以...

    C++设计模式编程中Template Method模板方法模式的运用

    void TemplateMethod() { PrimitiveOperation1(); PrimitiveOperation2(); } protected: virtual void PrimitiveOperation1() = 0; // 抽象方法 virtual void PrimitiveOperation2() = 0; // 抽象方法 ...

    C++设计模式笔记(03-01) – Template Method_模板方法(上)

    C++设计模式笔记(03-02) – Template Method_模板方法(下): https://blog.csdn.net/mofan6930/article/details/104383750 参考书籍:《设计模式:可复用面向对象软件的基础》 参考课程:《C++设计模式》-李建忠 ...

    Template(模板模式)

    void templateMethod() { primitiveOperation1(); primitiveOperation2(); } protected: virtual void primitiveOperation1() = 0; virtual void primitiveOperation2() = 0; }; ``` ```cpp // Template.cpp ...

Global site tag (gtag.js) - Google Analytics