Java中的DAO(Data Access Object)設計模式分為兩個級別:BaseDAO和DAOImpl。BaseDAO是DAO接口的基礎接口,它定義了數據庫操作的基本方法,例如增、刪、改、查等。而DAOImpl則是具體的數據庫操作實現類,實現了BaseDAO中定義的方法。
public interface BaseDAO { /** * 添加一個實體類 * @param obj 實體類對象 * @return 是否添加成功 */ public boolean add(Object obj); /** * 刪除一個實體類 * @param obj 實體類對象 * @return 是否刪除成功 */ public boolean delete(Object obj); /** * 修改一個實體類 * @param obj 實體類對象 * @return 是否修改成功 */ public boolean update(Object obj); /** * 查詢一個實體類 * @param id 實體類id * @return 查詢到的實體類對象 */ public Object getById(int id); } public class UserDaoImpl implements UserDao { /** * 添加用戶信息 * @param user 用戶對象 * @return 是否添加成功 */ public boolean add(User user){ // 數據庫操作添加用戶 return true; } /** * 刪除用戶信息 * @param user 用戶對象 * @return 是否刪除成功 */ public boolean delete(User user){ // 數據庫操作刪除用戶 return true; } /** * 修改用戶信息 * @param user 用戶對象 * @return 是否修改成功 */ public boolean update(User user){ // 數據庫操作修改用戶 return true; } /** * 查詢用戶信息 * @param id 用戶id * @return 查詢到的用戶對象 */ public User getById(int id){ // 數據庫操作查詢用戶信息 return new User(); } }
BaseDAO和DAOImpl的分離有利于代碼的拓展和維護。當需要對數據庫進行操作時,只需要實現BaseDAO中的方法并在DAOImpl中具體實現,就可以輕松拓展新的功能,而不用對既有代碼進行修改,達到了代碼的可拓展性和可維護性。