DAO多表操作的解决思路
一、分层DAO思路
虽然网上有文章表示一个表对应一个DAO并不好,但这里暂时还是尽量一个表一个DAO。这里想说的是,把DAO层细化一下。分成BDAO(底层DAO)和TDAO(顶层DAO),或说成TDAO(表级DAO)和ODAO(对象级DAO)。
1、BDAO
底层DAO主要思路就是一个表对应一个DAO,然后实现CRUD,同时还要给顶层DAO提供暴露conn连接的CUD方法(查询通常不用事务吧)。
2、TDAO
顶层DAO使用底层DAO暴露conn连接的方法,实现多表操作,从而实现事务处理的能力。
这种方法的优点是,代码优美、通俗易懂,缺点是要实现业务逻辑中的每个事务的TDAO,工作量可能会比较大。
二、执行自定义SQL语句
针对当前的DAO,提供一个自定义的方法,该方法提供一个字符串数组参数,每个元素都是一个sql语句,然后在方法体内实现事务,顺次执行字符串数组中的sql语句,成功则提交,否则回滚。
这种方法的优点是,方法简单,缺点是需要业务逻辑编程人员需要保留数据库编程人员协助提供的sql语句,从而使sql语句需要在熟悉不同领域的编程人员之间保持同步(等等)。
***
目前先想到这,以后有时间再把DAO层完善。
分享到:
相关推荐
java设计模式:DAO模式 DAO设计模式 DAO的理解 1、DAO其实是利用组合工厂模式来解决问题的,并没有带来新的功能,所以学的 其实就是个思路。 2、DAO理论上是没有层数限制的。 3、DAO的各层理论上是没有先后的。 DAO...
5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围(pageContext范围) 6.2.2、...
5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围(pageContext范围) 6.2.2、...
5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围(pageContext范围) 6.2.2、...
5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围(pageContext范围) 6.2.2、...
5.7.1、创建数据库表 5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围...
5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围(pageContext范围) 6.2.2、...
5.7.1、创建数据库表 5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围...
柴智:数据库增加了Bctanswer表,增加对应的javabean以及dao包和数据库操作。封装service层,完成对应的servlet。 8/8 15:00 段唯钧:完成教师删除学生界面设计 8/8 14:30 方娇: 增加了教师出卷功能的dao层方法...
5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围(pageContext范围) 6.2.2、...
10.2.5 如何加载多个Spring配置文件 210 10.3 开发Spring 1.2 AOP应用 211 10.3.1 开发Man对象 211 10.3.2 开发前置通知(Before advice)对象:FBI 212 10.3.3 装配拦截器和Bean 212 10.3.4 测试和运行 214 10.3.5 ...
所以我们的DAO只需要简单地调用父类的HibernateTemplate就可以完成几乎所有的数据库操作了。 由于Spring通过代理Hibernate完成数据层的操作,所以原Hibernate的配置文件hibernate.cfg.xml的信息也转移到Spring的...
之道 》,其中很多观点我看了很受启发,以前我也将"设计模式" 看成一个简单的解决方案,没有从一种高度来看待"设计模式"在软 件中地位,下面是我自己的一些想法: 建筑和软件某些地方是可以来比喻的 特别是中国传统建筑...
│ 07-使用Jedis连接集群操作.avi │ 00-今日大纲.avi │ 01-RDB持久化方式.avi │ 02-AOF的持久化方式.avi │ 03-Redis的主从架构(主从从).avi │ 04-主从出现宕机怎么办?.avi │ 05-哨兵.avi │ 06-搭建Redis的...