JFinal有没有类似MyBatis拦截SQL进行处理的接口

@jfinal 请问JFinal有没有提供类似MyBatis拦截器的功能,可以拦截SQL对SQL语句进行处理,举例来说一种应用场景:比如要做一个全局的数据权限控制,同一菜单不同人员看到的数据不同,其实这种情况查询数据的SQL语句基本相同,唯独不同的是数据过滤条件,每个菜单都是类似,如果可以把数据过滤条件抽取封装,拦截SQL,根据不同用户动态拼接数据过滤条件,这样数据权限能做到统一控制,开发人员也不用再考虑数据权限的调用和实现了。

评论区

JFinal

2016-09-08 19:17

看一下jfinal 中的这个源码:com.jfinal.plugin.activerecord.SqlReporter.java,可以通过代理的方式来拦截。
此外,如果你用的 DruidPlugin,还可以通过扩展它的 Filter 来拦截
最后你还可以使用 jfinal 的业务层 AOP 在业务层拦截器用户的查询方法去改变 sql,方法有很多,最后这个是最推荐的方式

冰雨

2016-09-08 19:23

波总威武,秒回啊!感谢波总,我明天试试

热门反馈

扫码入社