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

来源:互联网 发布:mac 终端显示完整路径 编辑:程序博客网 时间:2024/05/16 12:39

定义

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

使用场景

通用的增删改查

代码

先来看一下外部jar包的导入。
这里写图片描述
在design上右击选择Properities
这里写图片描述
选择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
查询数据库可以看到:
这里写图片描述