关于model层封装的一些问题

通过文档5.3和5.13发现,对于基本的增删改查,在确认id的前提下可以直接用封装的方法操作。

但是一旦涉及到其他字段的查询,要么就是直接写原生sql,要么就是在.sql文件写好sql方便复用,这样的方式都是我这边去写原生sql的,有没有像通过id查询一样,有已经封装好的方法???

比如

List<User> users = User.dao.find("select * from user where age>18");

有没有  List<User> users = User.dao.findbyAge(18)  之类的封装方法

评论区

JFinal

2019-06-10 11:50

先用 jfinal 生成器生成 base model 以及 model

然后在 model 中手动添加上这些 findByAge 方法即可

在框架层面,是不可能知道你某个 model 有 age 这个字段的,所以不可能事先提供 findByAge 方法, ruby 这类动态语言倒是可以

逍遥一生

2019-06-10 13:16

可以自己封装一个BaseDao,里面实现findByColumns的方法,查什么字段都靠传入的参数去实现就可以了,这个BaseDao可以继承Model,同时又拥有了原生Model的所有方法

新时代的血液

2019-06-10 15:04

@JFinal 好的,谢谢

热门反馈

扫码入社