一個基本項目結構由DB類(負責連接數據庫的工作),DAO接口及實現類(繼承DB類),bean對象封裝類,Druid在DB和DAO內使用
DB類:
DB類負責獲取數據源,基本步驟如下
1.准備配置文件 db.properties
url=jdbc:oracle:thin:@192.168.31.50:1521:orcl
username=hanxd
password=123
2.在DB類中讀取配置文件到InputStream
中
InputStream is = DB.class.getClassLoader().getResourceAsStream("db.properties");
//Properties 類表示了一個持久的屬性集。Properties 可保存在流中或從流中加載。屬性列表中每個鍵
及其對應值都是一個字符串。
Properties pp = new Properties();
pp.load(is);
//ds是一個`protected`的`DataSource類型`的成員變量
//數據源工廠.創建數據源
ds = DruidDataSourceFactory.createDataSource(pp);
DAO實現類:
DAO類的工作就比較簡單了,通過繼承DB類獲取數據源ds
1.調用DB類中的getDs()方法獲取連接
getDs();
2.創建QueryRunner
對象,並向構造器傳入數據源ds
QueryRunner qr = new QueryRunner(ds);
3.創建並執行sql
String sql = "select * from table where column=?";
List<E> list = qr.query(sql,new BeanListHandler<E>(),column1...);
最后呢,稍微提一下QueryRunner的方法,query本身有多種參數傳遞方式,可以像上面那樣不提供連接,也可以這樣需要提供連接的數據查詢:
qr.query(Connection conn,String sql,[rsh結果集處理方式])
進行增刪改操作的時候用qr.update(Connection conn,String sql,column1...n)