- 主题:mybatis-plus怎么写dao层?
mybatis-plus怎么写dao层?
刚用mybatis-plus, 这个一般用mapper + mapper.xml 来实现最简单的 sql操作,但mapper是个interface,没法写点逻辑 ,稍微复杂的逻辑,现在都是在 service层来做的,但感觉不爽。
复杂的操作,在多个service 里都可能会用到, 这种情况下, 把这些复杂点的操作就 需要写几遍,不优雅。
如果写个dao层就合理的多,但是大部分情况下, 用mapper interface就够了,尴尬
--
FROM 222.128.87.160
你说的这个需求, 就是在service做的
多个service里会用到的逻辑, 写在一个service里, 让其他service调用这个service接口
【 在 dddpppbox 的大作中提到: 】
: mybatis-plus怎么写dao层?
: 刚用mybatis-plus, 这个一般用mapper + mapper.xml 来实现最简单的 sql操作,但mapper是个interface,没法写点逻辑 ,稍微复杂的逻辑,现在都是在 service层来做的,但感觉不爽。
: 复杂的操作,在多个service 里都可能会用到, 这种情况下, 把这些复杂点的操作就 需要写几遍,不优雅。
: ...................
--
FROM 60.253.242.*
不要拘泥于什么DAO,service, management或者抽接口
分层就一个原则:
保持从上至下的调用方向,每层各司其职
调用链不要逆向,尽量不要平行交叉
具体到实体层无非是一个DAO方法对应单一SQL操作
一个DAO类对应一个/组实体类操作
一个service方法对应一个事务
其它随便折腾,想抽共有代码就抽
觉得叫DAO不合适就叫别的,operate什么啥都行
只要别把分层层次弄乱
【 在 dddpppbox 的大作中提到: 】
: mybatis-plus怎么写dao层?
: 刚用mybatis-plus, 这个一般用mapper + mapper.xml 来实现最简单的 sql操作,但mapper是个interface,没法写点逻辑 ,稍微复杂的逻辑,现在都是在 service层来做的,但感觉不爽。
: 复杂的操作,在多个service 里都可能会用到, 这种情况下, 把这些复杂点的操作就 需要写几遍,不优雅。
: ...................
--
FROM 218.61.196.*
你说的是什么复杂逻辑?复杂sql写mapper.xml里,再复杂就写到service层,dao层就没必要那么复杂
【 在 dddpppbox (dddpppbox) 的大作中提到: 】
: mybatis-plus怎么写dao层?
: 刚用mybatis-plus, 这个一般用mapper + mapper.xml 来实现最简单的 sql操作,但mapper是个interface,没法写点逻辑 ,稍微复杂的逻辑,现在都是在 service层来做的,但感觉不爽。
: 复杂的操作,在多个service 里都可能会用到, 这种情况下, 把这些复杂点的操作就 需要写几遍,不优雅。
: 如果写个dao层就合理的多,但是大部分情况下, 用mapper interface就够了,尴尬
--
FROM 111.193.121.*
遇到这种情况,就暂不要太追求完美了.
【 在 dddpppbox (dddpppbox) 的大作中提到: 】
: mybatis-plus怎么写dao层?
: 刚用mybatis-plus, 这个一般用mapper + mapper.xml 来实现最简单的 sql操作,但mapper是个interface,没法写点逻辑 ,稍微复杂的逻辑,现在都是在 service层来做的,但感觉不爽。
: 复杂的操作,在多个service 里都可能会用到, 这种情况下, 把这些复杂点的操作就 需要写几遍,不优雅。
: ...................
--
FROM 106.37.208.*
不平行交叉的话,很多代码都不好复用了
这个问题一般怎么解决?
【 在 javafish (这不是一个昵称) 的大作中提到: 】
: 不要拘泥于什么DAO,service, management或者抽接口
: 分层就一个原则:
: 保持从上至下的调用方向,每层各司其职
: ...................
--
FROM 180.167.95.*
没什么是添一层不能解决的……
Components,oper,helper,tool,管他叫什么
其实我一般都叫service
【 在 guestking 的大作中提到: 】
: 不平行交叉的话,很多代码都不好复用了
: 这个问题一般怎么解决?
:
--
FROM 39.144.104.*
弱弱问一下,mybatis只能用interface么?不能用抽象类
【 在 dddpppbox (dddpppbox) 的大作中提到: 】
: mybatis-plus怎么写dao层?
: 刚用mybatis-plus, 这个一般用mapper + mapper.xml 来实现最简单的 sql操作,但mapper是个interface,没法写点逻辑 ,稍微复杂的逻辑,现在都是在 service层来做的,但感觉不爽。
: 复杂的操作,在多个service 里都可能会用到, 这种情况下, 把这些复杂点的操作就 需要写几遍,不优雅。
: ...................
--
FROM 183.6.114.*
话是这么说没错,不过层次多了也很麻烦
尤其是大部分情况下都不用那么多层
【 在 javafish (这不是一个昵称) 的大作中提到: 】
: 没什么是添一层不能解决的……
: Components,oper,helper,tool,管他叫什么
: 其实我一般都叫service
: ...................
--
FROM 180.167.95.*
controller->management->dao
主要就三层么
web->tranactions->sql
如果能提取复用项再单独加service/component
没有就一路捅到底
再说业务级别的相似轻易不能在代码层复用,容易挖坑……
【 在 guestking (无) 的大作中提到: 】
: 话是这么说没错,不过层次多了也很麻烦
: 尤其是大部分情况下都不用那么多层
--
FROM 116.233.186.*