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 block
e.printStackTrace();
}
try {
conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=master","root","123456");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
stat =conn.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.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 block
e.printStackTrace();
}
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/employees?characterEncoding=utf8","root","123456");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
stat =conn.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.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 block
e.printStackTrace();
}
try {
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:employees?characterEncoding=utf8","root","123456");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
stat =conn.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
}
//test
class 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;
}
}
工厂模式实现多种数据库连接
最新推荐文章于 2023-04-15 16:09:43 发布