工厂模式实现多种数据库连接

来源:互联网 发布:java进阶书籍推荐知乎 编辑:程序博客网 时间:2024/05/16 17:51
package Factoryproduct;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement; interface DBlink {    //数据库连接方法public Connection Link();}//SQLserver数据库连接 class SQLServer implements DBlink{ Statement stat=null; Connection conn=null;public Connection Link(){try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=master","root","123456");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {stat =conn.createStatement();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;} }//mysql数据库连接class MySql implements DBlink{ Statement stat=null; Connection conn=null;public Connection Link() {try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/employees?characterEncoding=utf8","root","123456");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {stat =conn.createStatement();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}}  //Oracle数据库连接class OraCle implements DBlink{ Statement stat=null; Connection conn=null; public Connection Link() {try {Class.forName("oracle.jdbc.driver.OracleDriver");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:employees?characterEncoding=utf8","root","123456");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {stat =conn.createStatement();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}}//testclass DBlinkFactory{public static Connection Return(String linkkind){if(linkkind=="SQLserver")return new SQLServer().Link();if(linkkind=="Oracle")return new OraCle().Link();if(linkkind=="Mysql")return new MySql().Link();return null;}}