在mybatis拦截器的一个建议

来源:5-3 代码层读写分离的实现A

丶远走高飞

2018-06-04

老师在DynamicDataSourceInterceptor这个类中的

http://img.mukewang.com/szimg/5b1523d70001de1204700169.jpg

这个plugin方法中的if判断是完全没有必要的。这过度设计了。

原因是因为在你写DynamicDataSourceInterceptor类上的注解时,已经表明了type为Executor.class。所以在老师您调Plugin.wrap(target, this)的时候,这个Plugin底层已经帮我们筛出了不是type类型的其他对象,只会拦截我们在注解中声明的type类,也就是这里的Executor.class

http://img.mukewang.com/szimg/5b1523d8000119e210610092.jpg


写回答

3回答

翔仔

2018-06-04

同学好,同学有没有考虑到别的情况,因为plugin是public的,第三方调用了plugin方法,传入了一个不是实现Executor接口的Object? :)

0
8
翔仔
回复
丶远走高飞
同学好,还是那句话,得看同学的描述,然后为什么要做分页控件,处理了什么难点,学到了什么,这些得好好组织一下:)
2018-06-05
共8条回复

丶远走高飞

提问者

2018-06-04

//img.mukewang.com/szimg/5b15569c00017fb307390245.jpg

老师可以看这个 wrap方法的源码。

0
0

创通一哥

2018-06-04

估计是老师当时漏掉了注解,所以在plugin方法里面做了判断。

0
1
丶远走高飞
mybatis拦截器 必须使用后注解。没有注解使用不了的
2018-06-04
共1条回复

Java双版本(SSM到SpringBoot)校园商铺全栈开发

SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需

5113 学习 · 8144 问题

查看课程