zoukankan      html  css  js  c++  java
  • 2021.11.30(模板方法模式java)

    数据库连接

    对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、openDB()、useDB()、closeDB()四个方法分别对应这四个步骤。对于不同类型的数据库(如SQL Server和Oracle),其操作步骤都一致,只是连接数据库connDB()方法不同,现使用模板方法模式对其进行设计。

    (1)Client.java

    package shiyan24;
    
    import java.util.Scanner;
    
    public class Client {
    
    public static void main(String[] args) {
    
    DBOperator db = null;
    
    System.out.println("请选择数据库:1、SQLServer 2、Oracle");
    
    Scanner input=new Scanner(System.in);
    
    int i=input.nextInt();
    
    if(i==1) {
    
    db=new SQLServerDB();
    
    }else if(i==2) {
    
    db=new OracleDB();
    
    }
    
    db.process();
    
    }
    
    }

    (2)DBOperator.java

    package shiyan24;
    
     
    
    public abstract class DBOperator {
    
    public void process(){
    
    connDB();
    
    openDB();
    
    useDB();
    
    closeDB();
    
    }
    
    public abstract void connDB();
    
    public void openDB(){
    
    System.out.println("打开数据库");
    
    }
    
    public void useDB(){
    
    System.out.println("使用数据库");
    
    }
    
    public void closeDB(){
    
    System.out.println("关闭数据库");
    
    }
    
    }

    (3)OracleDB.java:

    package shiyan24;
    
     
    
    public class OracleDB extends DBOperator{
    
     
    
    @Override
    
    public void connDB() {
    
    // TODO 自动生成的方法存根
    
    System.out.println("连接Oracle数据库");
    
    }
    
    }

    (4)SQLServerDB.java:

    package shiyan24;
    
     
    
    public class SQLServerDB extends DBOperator{
    
     
    
    @Override
    
    public void connDB() {
    
    // TODO 自动生成的方法存根
    
    System.out.println("连接SQLServer数据库");
    
    }
    
     
    
    }

    实现截图:

  • 相关阅读:
    alpine python3中使用mysql报错ModuleNotFoundError: No module named 'MySQLdb'
    Galera集群部署
    Kibana did not load properly.Check the server output for more information。
    zabbix-server迁移
    traefik使用etcd存储配置
    Rancher2.4搭建单机版rabbitmq
    ngx_http_upstream_module模块说明
    【说明】
    运维日常集合(个人向 坚持更新)
    Linux监控-历史细项数据回溯
  • 原文地址:https://www.cnblogs.com/marr/p/15598975.html
Copyright © 2011-2022 走看看