DAO多表操作的解决思路

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值