如何在MyBatis中使用带注释的动态SQL查询(如何使用selectProvider)?
我试图避免在 mybatis3 中使用额外的 xml 来定义映射器。注释正好适合。
我对 @SelectProvider/@InsertProvider/etc 的用法有点困惑。不要认为网上有很多资源可以指导我完成这个任务。
基本上,我想在mybatis3中找到alternative for的注释版本。
例如,我有一个 xml 映射器,我想将其转换为使用注释
<select ...>
<where>
<if cause.....>
</if>
<if cause......>
</if>
</where>
</select>
任何人都可以提供包括代码在内的具体答案/解决方案吗?
提前致谢!
I am trying to avoid having an additional xml to define the mapper in mybatis3. Annotation fits right in.
I am a bit confused by the usage of @SelectProvider/@InsertProvider/etc. Don't think there are many resources online guiding me through this.
Basically, I will like to find the annotation version of alternative for in mybatis3.
For example, I have a xml mapper and I wanna convert it to use annotation
<select ...>
<where>
<if cause.....>
</if>
<if cause......>
</if>
</where>
</select>
Could anyone provide a concrete answer/solution including the code?
Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
另一种解决方案是:
在 @annotation 的开头添加
另外,我们在项目中将 .groovy 编译为 .class,因此,我们可以在 @annotation 中编写 SQL像上面一样
An alternative solution for you could be:
Add
<script>
at the beginning of your @annotationIn additional, we compile .groovy to .class in our projects, thus, we can write SQL in @annotation like above
在您的映射器界面中:
在 MyClass 中:
in your mapper interface:
in MyClass: