一、连接数据库
与连接mysql数据库区别不大,同样是由jdbc连接,注意修改数据库名称、用户名和密码。
二、关于单件模式()
单件模式作为23种设计模式中的一种,也有他独道的用处。
描述如下:
Singleton Pattern:
Ensure a class only has one instance , and provide a global poit of access to it.
意思为,单件模式保证了一个类仅有一个实例,并提供一个访问它的全局访问点。
这与数据库连接的意图不谋而合,所以我这次用了单件模式来实现数据库的连接。
代码如下:
package conn;
//单件模式创建连接
public class COnn {
private static COnn cOnn ;
static String driverClass; //oracle的驱动
static String url; //连接oracle路径方式 “”gfs“”是要建立连接的数据库名 1521端口
static String user; //user是数据库的用户名
static String password; //用户登录密码
public static String getDriverClass() {
return driverClass;
}
public static void setDriverClass(String driverClass) {
COnn.driverClass = driverClass;
}
public static String getUrl() {
return url;
}
public static void setUrl(String url) {
COnn.url = url;
}
public static String getUser() {
return user;
}
public static void setUser(String user) {
COnn.user = user;
}
public static String getPassword() {
return password;
}
public static void setPassword(String password) {
COnn.password = password;
}
private COnn() {
driverClass="oracle.jdbc.driver.OracleDriver";
url="jdbc:oracle:thin:@localhost:1521:BOOKSALES";
user="lhy";
password="lhy";
}
static {
cOnn = new COnn();
}
public static COnn getConn() {
return cOnn;
}
}
测试代码:
@Test
public void testConnection() throws SQLException, ClassNotFoundException {
COnn connection = COnn.getConn();
Connection conn = null;
try {
//首先建立驱动
Class.forName(COnn.getDriverClass());
//驱动成功后进行连接
conn=DriverManager.getConnection(COnn.getUrl(), COnn.getUser(), COnn.getPassword());
System.out.println("连接成功");
System.out.println(conn);
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}