首页 > 其他分享 >设计模式之模板模式(1)

设计模式之模板模式(1)

时间:2023-04-25 10:00:53浏览次数:39  
标签:return String age 模式 name 设计模式 public 模板 uuid


定义

定义一个操作中的算法骨架而将一些步骤延迟到子类中,模板模式使得子类可以在不改变一算法的结构即可重定义该算法的某些特定步骤。

使用场景

通用的增删改查

代码

先来看一下外部jar包的导入。

设计模式之模板模式(1)_java


在design上右击选择Properities

设计模式之模板模式(1)_java_02


选择Add External Jars…导入需要的JAR包

这里先写一个简单的数据库插入功能

(1)定义用户数据模型

package template;
public class UserModel {
    private String uuid;
    private String name;
    private int  age;

    public String getUuid() {
        return uuid;
    }
    public void setUuid(String uuid) {
        this.uuid = uuid;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public String toString()
    {
        return "uuid="+uuid+" name="+name+" age="+age;
    }
}

(2)向数据库中写入数据

package template;

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

public class AbstractClass {
    private  QueryUserModel qum= null;

    public QueryUserModel getQum() {
        return qum;
    }
    public void setQum(QueryUserModel qum) {
        this.qum = qum;
    }
    private Connection getConnection() throws Exception
    {
        //加载驱动程序,这里需要引入Mysql-connection-java-5.1.7-bin.jar,这个上传到我的资源中了
        Class.forName("com.mysql.jdbc.Driver");
        //链接MYSQL数据库
        System.out.println("Hello world");
        return DriverManager.getConnection("jdbc:mysql://localhost:3306/sino_zsk","root","这里输入密码");
        //return null;
    }
    public void create(UserModel um)
    {
        Connection connection = null;
        try{
            connection  = this.getConnection();
            String sql = "insert into tbl_user values (?,?,?)";
            PreparedStatement  pst = connection.prepareStatement(sql);
            pst.setString(1, um.getUuid());
            pst.setString(2, um.getName());
            pst.setLong(3, um.getAge());
            pst.executeUpdate();
        }catch(Exception e)
        {
            e.printStackTrace();
        }finally{
            try{
                connection.close();
            }catch(SQLException e)
            {
                e.printStackTrace();
            }
        }

    }


}

运行结果:

Hello world

查询数据库可以看到:

设计模式之模板模式(1)_sql_03


标签:return,String,age,模式,name,设计模式,public,模板,uuid
From: https://blog.51cto.com/u_16087831/6223434

相关文章

  • vue3+jointjs 使用模板添加元素
    关于如何在Vue3和JointJS中使用拖拽模板来创建节点元素,可以按照以下步骤进行:1.安装JointJS使用npm进行安装:```npminstalljointjs```2.在Vue3中创建JointJS容器在Vue3中创建一个组件,用于创建JointJS的画布和节点。在组件的生命周期方法`mounted`......
  • 【代理设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
    简介代理模式(ProxyPattern)是一种结构型设计模式,用一个类来代理另一个类或几个类的功能。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。延迟初始化(虚拟代理)。如果你有一个偶尔使用的重量级服务对象,一直保持该对象运行会消耗系统资源时,可使用代理模式。访问......
  • IDEA 类头注释模板配置
    File–>settings–>Editor–>FileandCodeTemplates–>Files修改头文件/***desc**@Author红尘过客*@DateTime${YEAR}-${MONTH}-${DAY}${HOUR}:${MINUTE}:${SECOND}*/......
  • 13命令与迭代器模式
    行为型模式(BehavioralPattern)定义:关注系统中对象之间的交互,研究系统在运行时对象之间的相互通信与协作,进一步明确对象的职责行为型模式:不仅仅关注类和对象本身,还重点关注它们之间的相互作用和职责划分分类:类行为型模式:使用继承关系在几个类之间分配行为,主要通过多态......
  • Rust语言 学习17 模式匹配
    一、模式基本概念二、模式可辩驳性三、模式语法......
  • ahk模式窗口
    OwnDialogs:命令Gui+OwnDialogs可以指定窗体上的每个线程(例如ButtonOK子过程)为子窗体,可以使窗体上激活的如MsgBox,InputBox,FileSelectFile,和FileSelectFolder 对话框为当前窗体的子窗体。这些对话框都为模式对话框,也就是说用户必须先关闭这些对话框才能和他们的父窗......
  • 设计模式结合使用的例子
    设计模式(Designpattern)是一套被反复使用的、为众人所知的分类编目的代码设计经验总结。使用设计模式是为了可重用和扩展代码,增加代码的逻辑性和可靠性。设计模式的出现使代码的编制真正工程化,成为软件工程的基石。设计模式结合使用的例子今天我们就......
  • 适配器模式
    适配器模式定义:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。解决问题:已经存在类似功能的类或接口,但是方法签名不一样。适用性:*你想使用一个已经存在的类,而它的接......
  • 设计模式总结
    设计模式设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。一.Factory(简单工厂)定义:用一个方法去代替构造器或者是new关键字,把......
  • Django4全栈进阶之路16 template模板的基础模板
    <!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>{%blocktitle%}MySite{%endblock%}</title>{%blockstyles%}{%endblock%}</head><body><header><h1>MySite</h......