3.3項目準備
首先我們可以設(shè)置一個項目名稱:DAOPrject柑贞,并且因為此項目需要使用Oracle數(shù)據(jù)庫展运,需要配置好數(shù)據(jù)庫的驅(qū)動程序顶别。請保證數(shù)據(jù)庫已經(jīng)打開監(jiān)聽與實例服務(wù)些阅。
為了進行程序的統(tǒng)一管理狐粱,所有的項目的父包名稱統(tǒng)一設(shè)置為:cn.***舀寓。(我現(xiàn)在是cn.cute)而子包需要根據(jù)不同的功能模塊進行劃分。
3.3.1 數(shù)據(jù)庫鏈接類
本次的操作既然要進開發(fā)脑奠,那么就必須進行數(shù)據(jù)庫的鏈接與關(guān)閉基公,那么幾乎所有的數(shù)據(jù)庫的連接操作都是固定的步驟,那么就可以單獨定義一個DatabaseConnection類宋欺,這個類主要負責(zé)數(shù)據(jù)庫鏈接對象的取得以及數(shù)據(jù)庫的關(guān)閉操作轰豆。既然是一個專門用于數(shù)據(jù)庫的鏈接操作,那么我們可以將其保存在dbj子包中齿诞。
有兩個操作的功能:
1.取得鏈接對象:
get Conncetion() :Conncetion
2:close:
close() : void
可以存放一些常量:數(shù)據(jù)庫的據(jù)動程序
DBDRIVER = "com.mysql.cj.jdbc.Driver";
DBURL = "jdbc:mysql://120.27.241.196:33063/liu";
USER = "root";
PASSWORD = "123456";
舉個栗子??:定義數(shù)據(jù)庫的連接類:
public class DatabaseConnection {
//本類專門負責(zé)數(shù)據(jù)庫的連接與關(guān)閉操作酸休,在實例化本類對象時就意味著要進行數(shù)據(jù)庫的開發(fā),所以在本類的構(gòu)造方法里進行數(shù)據(jù)驅(qū)動加載與數(shù)據(jù)庫連接取得
private static String DBDRIVER = "com.mysql.cj.jdbc.Driver";
private static String DBURL = "jdbc:mysql://120.27.241.196:33063/liu";
private static String USER = "root";
private static String PASSWORD = "123456";
//在構(gòu)造方法里面為conn對象進行實例化,可以直接獲得數(shù)據(jù)庫的連接對象
Connection conn = null;
DatabaseConnection() {
try {
Class.forName(DBDRIVER);
this.conn = DriverManager.getConnection(DBURL, USER, PASSWORD);
}catch (Exception e){//此處有異常祷杈,但拋出的意義不大斑司,注意自己看報錯
e.printStackTrace();
}
}
public Connection getConn{
return this.conn;//取得一個數(shù)據(jù)庫的鏈接對象
}
//負責(zé)數(shù)據(jù)庫的關(guān)閉
public void close(){
if (this.conn != null){//表示現(xiàn)在存在鏈接對象
try{
this.conn.close();
}catch (SQLException e){ e.printStackTrace(); }
}
}
}
整個操作過程中,DatabaseConnection但汞,而至于說有多少個線程需要找到此類需要鏈接對象宿刮,他都不關(guān)心。從最早的DAO設(shè)計模式來講實際上還會考慮到一個問題私蕾,多數(shù)據(jù)庫間的一直問題僵缺,需要設(shè)置一個專門的表示連接的接口。