CRM项目经验总结-从DAO层到链接数据池
生活随笔
收集整理的這篇文章主要介紹了
CRM项目经验总结-从DAO层到链接数据池
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#IDAO接口 定義項目中所有板塊相似功能 也是整個項目的根接口
public interface IDAO {/*** 新增數據 @param SQL sql查詢語句 @param params 參數數組 @wonter*/public int insert(final String SQL, final Object[] params)throws CRMDBConnException, CRMSQLException;/*** 查詢 要求傳入查詢表對應的BeanCalss @param SQL sql查詢語句 @param clazz 查詢表對應的BeanCalss @author wonter */public List findAll(final String SQL, Class clazz)throws CRMDBConnException, CRMSQLException;/*** @param SQL sql更新語句 @param bean 更新表對應的bean實例 @author wonter*/public int update(final String SQL, final Object bean)throws CRMDBConnException, CRMSQLException;/*** 刪除單條數據 @param SQL sql刪除語句 @param id 主鍵編號 @author Lyee*/public int delete(final String SQL, final Object id)throws CRMDBConnException, CRMSQLException;}#ICompanyDAO接口繼承IDAO 空接口 公司板塊這是程序員開始著手的地方
public interface ICompanyDAO extends IDAO {}#DAOAdapter類 適配器 通過包裝一個需要適配的對象,把原接口IDAO 轉換成目標接口。
public abstract class DAOAdapter {/*** 構造方法*/public DAOAdapter() {// TODO Auto-generated constructor stub
}/*** 查詢 要求傳入查詢表對應的BeanCalss @param SQL sql查詢語句 @param clazz 查詢表對應的BeanCalss @author wonter */ public List findAll(final String SQL, Class clazz)throws CRMDBConnException, CRMSQLException {return null;}/*** 新增數據 @param SQL sql查詢語句 @param params 參數數組 @wonter*/ public int delete(String SQL, Object id)throws CRMDBConnException, CRMSQLException {return 0;}}
#CompanyDAO類 具體實現類 每一個DAO可以實現一個DAOAdapter適配器,也可以直接實現I**DAO。這看實現是否完全。 如果實現不全面,直接實現適配器繼承接口。
public class CompanyDAO extends DAOAdapter implements ICompanyDAO {/*** CompanyDAOde的空構造 @author wonter*/public CompanyDAO() {}/*** 刪除單條數據* @param SQL* sql刪除語句* @param id* 主鍵編號*/public int delete(String SQL, Object id) throws CRMDBConnException,CRMSQLException {try {return DAOUtil.getInstance().delete(SQL, id);} catch (Exception e) {e.printStackTrace();}return 0;}}
#DAOUtil類 工具類 用于連接數據庫
public class DAOUtil { private DAOUtil() {#空構造}/*** 獲得DAOUtil的實例* @return 返回 DAOUtil實例*/public static DAOUtil getInstance() throws InstantiationException, IllegalAccessException {return (DAOUtil) DAOUtil.class.newInstance() ;} /*** 刪除單條數據* @param SQL* sql刪除語句* @param id* 主鍵編號*/public int delete(final String SQL, final Object id)throws CRMDBConnException, CRMSQLException {int flag = -1;Object[] params = { id };QueryRunner qr = CRMQueryRunner.getInstance();try {flag = qr.update(SQL, params);} catch (Exception e) {throw new CRMSQLException("SQl Execute Exception", e);}return flag;}}
CRMQueryRunner類 數據連接 單例設計模式
public final class CRMQueryRunner extends QueryRunner {
......
后臺就到這來吧!再說前臺。
?
總結
以上是生活随笔為你收集整理的CRM项目经验总结-从DAO层到链接数据池的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AFNetworking 下载文件断点续
- 下一篇: CentOS虚拟机克隆后网卡配置问题