2021-04-13

本文详细展示了如何使用装饰器模式在Java中分别连接Oracle和MySQL数据库,通过自定义接口并实现不同数据库的驱动和URL。包括数据库连接的驱动类和URL定义,以及插入、更新、删除和查询操作的实现。
摘要由CSDN通过智能技术生成

装饰器模式下的JDBC连接数据库

实现JDBC连接数据库的接口,再重写MySQL、SQLServer、Oracle的数据库。

构建数据库连接的四元素driver,url,user,password
不同的数据库对driver、url的定义是不同的。
在对JBDC连接模式需要先导入jar包。

在这里插入图片描述

Oracle的driver和url的定义

// An highlighted block
private static final String driver="oracle.jdbc.driver.OracleDriver";
private static final String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";

MySQL的driver和url的定义。

// An highlighted blockprivate static final String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//the driver
private static final String url="jdbc:sqlserver://localhost:8080; DatabaseName=sample";//url
private static final String driver="com.mysql.jdbcDriver";//驱动
private static final String url="";//url

SQLserver的driver和url的定义

代码
Oracle数据库的JDBC模式。

// An highlighted block
package com;

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

//接口的实体应用对应特殊的数据库
public class Oracle implements demo{
    private static final String driver="oracle.jdbc.driver.OracleDriver";//the driver
    private static final String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";//url
    private static final String user="root";//the database user
    private static final String password="123";//the database password
    public  void insert()
    {
        String sql="INSERT into tb1(id, name) VALUES(1,'zhangsan');";
        Connection connection = null;
        Statement statement = null;

        try {
            //loading driver
            Class.forName(driver);
            //deprive the datebase connecting object
            connection = DriverManager.getConnection(url, user, password);
            //deprive the object
            statement = connection.createStatement();
            //使用这个对象来执行SQL
            int i = statement.executeUpdate(sql);

            System.out.println("插入完毕"+i+"条");

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(statement != null){
                    statement.close();
                }
                if(connection != null){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    public  void update()
    {

        String sql="update tb1 t set t.id='2',t.name='lisi';";
        Connection connection = null;
        Statement statement = null;

        try {
            //loading driver
            Class.forName(driver);
            //deprive the datebase connecting object
            connection = DriverManager.getConnection(url, user, password);
            //deprive the object
            statement = connection.createStatement();
            //使用这个对象来执行SQL
            int i = statement.executeUpdate(sql);

            System.out.println("修改完毕"+i+"条");

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(statement != null){
                    statement.close();
                }
                if(connection != null){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    @Override
    public void delete()
    {
        String sql="delete from tb1 where tb1_id=1;";
        Connection connection = null;
        Statement statement = null;

        try {
            //loading driver
            Class.forName(driver);
            //deprive the datebase connecting object
            connection = DriverManager.getConnection(url, user, password);
            //deprive the object
            statement = connection.createStatement();
            //使用这个对象来执行SQL
            int i = statement.executeUpdate(sql);

            System.out.println("删除完毕"+i+"条");

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(statement != null){
                    statement.close();
                }
                if(connection != null){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    @Override
    public void select()
    {
        String sql=" select * from tb1;";
        Connection connection = null;
        Statement statement = null;

        try {
            //loading driver
            Class.forName(driver);
            //deprive the datebase connecting object
            connection = DriverManager.getConnection(url, user, password);
            //deprive the object
            statement = connection.createStatement();
            //使用这个对象来执行SQL
            int i = statement.executeUpdate(sql);

            System.out.println("删除完毕"+i+"条");

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(statement != null){
                    statement.close();
                }
                if(connection != null){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

}

MySQL数据库的JDBC连接

package com;

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

public class mysql implements demo{
    //
    private static final String driver="com.mysql.jdbcDriver";//驱动
    private static final String url="";//url
    private static final String user="root";//数据库中的用户名字
    private static final String password="123";//数据库中的密码
    public  void insert()
    {   //perparing the Sql language
        String sql="insert into tb1(id, name) VALUES(1,'zhangsan');";
        //initailize the object
        Connection connection = null;
        Statement statement = null;

        try {
            //loading driver
            Class.forName(driver);
            //getting the datebase connecting object
            connection = DriverManager.getConnection(url, user, password);
            //get the accessible sql object
            statement = connection.createStatement();
            //used the object to access the sql
            int i = statement.executeUpdate(sql);

            System.out.println("插入完毕"+i+"条");

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(statement != null){
                    statement.close();
                }
                if(connection != null){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    public  void update()
    {
        String sql="update tb1 t set t.id='2',t.name='lisi';";
        Connection connection = null;
        Statement statement = null;

        try {
            //loading driver
            Class.forName(driver);
            //getting the datebase connecting object
            connection = DriverManager.getConnection(url, user, password);
            //get the accessible sql object
            statement = connection.createStatement();
            //used the object to access the sql
            int i = statement.executeUpdate(sql);

            System.out.println("修改完毕"+i+"条");

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(statement != null){
                    statement.close();
                }
                if(connection != null){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    @Override
    public void delete()
    {
        String sql="delete from tb1 where tb1_id=1;";
        Connection connection = null;
        Statement statement = null;

        try {
            //loading driver
            Class.forName(driver);
            //getting the datebase connecting object
            connection = DriverManager.getConnection(url, user, password);
            //get the accessible sql object
            statement = connection.createStatement();
            //used the object to access the sql
            int i = statement.executeUpdate(sql);

            System.out.println("删除完毕"+i+"条");

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(statement != null){
                    statement.close();
                }
                if(connection != null){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    @Override
    public void select()
    {
        String sql=" select * from tb1;";
        Connection connection = null;
        Statement statement = null;

        try {
           //loading driver
            Class.forName(driver);
            //getting the datebase connecting object
            connection = DriverManager.getConnection(url, user, password);
            //get the accessible sql object
            statement = connection.createStatement();
            //used the object to access the sql
            int i = statement.executeUpdate(sql);

            System.out.println("删除完毕"+i+"条");

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(statement != null){
                    statement.close();
                }
                if(connection != null){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

}

Oracle数据库的JDBC模式连接代码.

package com;

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

//接口的实体应用对应特殊的数据库
public class Oracle implements demo{
    private static final String driver="oracle.jdbc.driver.OracleDriver";//the driver
    private static final String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";//url
    private static final String user="root";//the database user
    private static final String password="123";//the database password
    public  void insert()
    {
        String sql="INSERT into tb1(id, name) VALUES(1,'zhangsan');";
        Connection connection = null;
        Statement statement = null;

        try {
            //loading driver
            Class.forName(driver);
            //deprive the datebase connecting object
            connection = DriverManager.getConnection(url, user, password);
            //deprive the object
            statement = connection.createStatement();
            //使用这个对象来执行SQL
            int i = statement.executeUpdate(sql);

            System.out.println("插入完毕"+i+"条");

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(statement != null){
                    statement.close();
                }
                if(connection != null){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    public  void update()
    {

        String sql="update tb1 t set t.id='2',t.name='lisi';";
        Connection connection = null;
        Statement statement = null;

        try {
            //loading driver
            Class.forName(driver);
            //deprive the datebase connecting object
            connection = DriverManager.getConnection(url, user, password);
            //deprive the object
            statement = connection.createStatement();
            //使用这个对象来执行SQL
            int i = statement.executeUpdate(sql);

            System.out.println("修改完毕"+i+"条");

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(statement != null){
                    statement.close();
                }
                if(connection != null){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    @Override
    public void delete()
    {
        String sql="delete from tb1 where tb1_id=1;";
        Connection connection = null;
        Statement statement = null;

        try {
            //loading driver
            Class.forName(driver);
            //deprive the datebase connecting object
            connection = DriverManager.getConnection(url, user, password);
            //deprive the object
            statement = connection.createStatement();
            //使用这个对象来执行SQL
            int i = statement.executeUpdate(sql);

            System.out.println("删除完毕"+i+"条");

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(statement != null){
                    statement.close();
                }
                if(connection != null){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    @Override
    public void select()
    {
        String sql=" select * from tb1;";
        Connection connection = null;
        Statement statement = null;

        try {
            //loading driver
            Class.forName(driver);
            //deprive the datebase connecting object
            connection = DriverManager.getConnection(url, user, password);
            //deprive the object
            statement = connection.createStatement();
            //使用这个对象来执行SQL
            int i = statement.executeUpdate(sql);

            System.out.println("删除完毕"+i+"条");

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(statement != null){
                    statement.close();
                }
                if(connection != null){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

}

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。1

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 [这儿][4].

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。

[4]: http://adrai.github.io/flowchart.js/## 标题


  1. 注脚的解释 ↩︎

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值