#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层到链接数据池相关推荐

  1. JDBC , 使用java来控制mysql。JavaWeb开发的分层设计-三层架:DAO层设计,连接池使用,类加载使用,配置...

    大家可以关注一下我的博客  我的博客所有随笔都是我从基础开始学习java的所有知识点 1. Jdbc概述 问题:实际开发中,不可能用工具或者命令行操作数据库,数据库表中的数据最终要使用Java程序来操 ...

  2. 一个项目中说系统分为表现层、控制层、逻辑层、DAO层和最终数据库五层架构...

    表现层就是看到的东西,比如你现在看到的当前页面控制层就将你的请求从页面传到后台代码逻辑层就是处理你的请求的代码DAO层就是将数据存到数据库中的代码数据库就是数据库了,存东西用的DAO层就是将访问数据库 ...

  3. java系统项目分为哪五大层次?控制层_业务_一个项目中说系统分为表现层、控制层、逻辑层、DAO层和最终数据库五层架构-转...

    表现层就是看到的东西,比如你现在看到的当前页面 控制层就将你的请求从页面传到后台代码 逻辑层就是处理你的请求的代码 DAO层就是将数据存到数据库中的代码 数据库就是数据库了,存东西用的 ,DAO层就是 ...

  4. java domain层_java框架中的controller层、dao层、domain层、service层、view层

    1.Controller层:接口层,用户访问请求时对接. Controller层负责具体的业务模块流程的控制,在此层里面要调用Serice层的接口来控制业务流程,控制的配置也同样是在Spring的配置 ...

  5. pojo层、dao层、service层、controller层的作用

    pojo层(model) 实体层 数据库在项目中的类 model是模型的意思,与entity.domain.pojo类似,是存放实体的类. 类中定义了多个类属性,并与数据库表的字段保持一致,一张表对应 ...

  6. 三层架构编程、DAO层、Entity层、Service层、Controller层

    什么是三层架构编程: 本质上所有的项目(应用程序)都是需要和用户交互,然后产生数据,对数据进行处理,最后将数据存储到硬盘这么个过程 在编程中,可以将这个过程分一下层次,最初只分两层,用户层和数据层,但 ...

  7. Entity层、DAO层、Service层、Controller层 先后顺序

    写法顺序: 1.数据库表 2.实体层 3.DAO层写接口 4.Mapper层写和DAO层对应的映射规则,即SQL和POJO的映射规则.其中<select>元素定义的resultType指向 ...

  8. 没有学历、没有项目经验应该如何找工作?

    数年前,我被这样的问题困扰着:没有学历.又没有项目经验如何找工作?当看到用人单位的招聘信息上都写着"学历要求本科"的字样之后,我就对自己失去了信心,并在内心非常反感这种以学历取人的 ...

  9. dao层如何调用对象_以k8s集群管理为例,大牛教你如何设计优秀项目架构

    架构设计一直是技术人的关注热点,如何设计一个更优的架构对于实际的业务来说至关重要.本文腾讯云专家将从自身从事的一个k8s集群管理项目为例,重点剖析在项目开发过程中的三次架构演进历程,即针对项目最早版本 ...

最新文章

  1. wchar用wcout输出正常cout是?
  2. 检查集群状态命令_巨杉数据库SequoiaDB巨杉Tech | 四步走,快速诊断数据库集群状态...
  3. Web 端的下一代三维图形
  4. 如何使用ABBYY FineReader 12将JPEG文件转换成Word文档
  5. Today's my MDX...
  6. 软件开发中的资源控制问题学习
  7. 永远太远,是时候离开了
  8. 2019奥斯卡谁是赢家 这里有一份来自AI的预测名单
  9. MuJoCO仿真(1) MuJoCo210 Win10安装
  10. matlab求极限分布,中心极限定理的Matlab演示
  11. 打印机有关术语及解释
  12. 打工人息息相关的个税计算
  13. 修改ffmpeg支持文件描述符,以适配android10沙箱机制
  14. 大物下学期期末复习笔记
  15. 优秀的web前端工程师需要哪些软技能
  16. mysql重新设置主键生成策略为auto_increment时报错:resulting in duplicate entry '1' for key 'PRIMARY'
  17. W ndows7旗舰版RTM,Windows 7 RTM Build各版ISO详细介绍
  18. 域名被用来干嘛的?你知道吗?
  19. TIN处理之地形裁剪——SuperMap iDesktop
  20. 接口优化的常见方案实战总结

热门文章

  1. 利用winston和morgan记录express日志信息
  2. 华人“军火专家”——黄仁勋 1
  3. 迭代器、生成器、装饰器
  4. html-webpack-plugin插件 根据模板生成多页面
  5. CodeForces 597A Divisibility
  6. Android Studio下加入百度地图的使用 (一)——环境搭建
  7. Linux命令之whereis
  8. gnome3.2 安装体验
  9. Android 监听ScrollView的滑动
  10. 利用Win32 Debug API打造自己的调试器Debugger