`
yxsylyh
  • 浏览: 31926 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

DAO多表操作的解决思路

    博客分类:
  • JAVA
阅读更多

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层完善。

分享到:
评论
2 楼 yxsylyh 2011-03-10  
仅此而已 写道
一直都是通过范型抽取出公用的DAO 和BaseDAO的 。

如何做的,能说说吗,或者给我短信。很想学习学习。
1 楼 仅此而已 2011-03-09  
一直都是通过范型抽取出公用的DAO 和BaseDAO的 。

相关推荐

    java设计模式:DAO模式.doc

    java设计模式:DAO模式 DAO设计模式 DAO的理解 1、DAO其实是利用组合工厂模式来解决问题的,并没有带来新的功能,所以学的 其实就是个思路。 2、DAO理论上是没有层数限制的。 3、DAO的各层理论上是没有先后的。 DAO...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    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、...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    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、...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    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、...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    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、...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    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属性范围...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    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、...

    李兴华Java Web开发实战经典(高清版) Part2

    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属性范围...

    java在线考试系统.zip

    柴智:数据库增加了Bctanswer表,增加对应的javabean以及dao包和数据库操作。封装service层,完成对应的servlet。 8/8 15:00 段唯钧:完成教师删除学生界面设计 8/8 14:30 方娇: 增加了教师出卷功能的dao层方法...

    java web 视频、电子书、源码(李兴华老师出版)

    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、...

    《MyEclipse 6 Java 开发中文教程》前10章

    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 ...

    ssh(structs,spring,hibernate)框架中的上传下载

     所以我们的DAO只需要简单地调用父类的HibernateTemplate就可以完成几乎所有的数据库操作了。  由于Spring通过代理Hibernate完成数据层的操作,所以原Hibernate的配置文件hibernate.cfg.xml的信息也转移到Spring的...

    二十三种设计模式【PDF版】

    之道 》,其中很多观点我看了很受启发,以前我也将"设计模式" 看成一个简单的解决方案,没有从一种高度来看待"设计模式"在软 件中地位,下面是我自己的一些想法: 建筑和软件某些地方是可以来比喻的 特别是中国传统建筑...

    Eclipse开发分布式商城系统+完整视频代码及文档

    │ 07-使用Jedis连接集群操作.avi │ 00-今日大纲.avi │ 01-RDB持久化方式.avi │ 02-AOF的持久化方式.avi │ 03-Redis的主从架构(主从从).avi │ 04-主从出现宕机怎么办?.avi │ 05-哨兵.avi │ 06-搭建Redis的...

Global site tag (gtag.js) - Google Analytics