MyBatis的内部注释动态sql(mybatis dynamic sql inside annot

2019-08-17 02:25发布

我使用的MyBatis 3.我使用@select注释写的映射iterface内选择查询。

例:

@Select("select * from EMPLOYEE where ID>55")
public List<Employee> getEmployees();

有没有一种办法可以动态地构造查询,并把它传递给注解。 我发现的例子做,在XML的方式,但不与注解。 是否有可能写有annotatoins动态查询? 如果是的话,那该怎么办呢。

为了澄清我不是问传递一个ID,但构建dyanmic WHERE语句的问题。

谢谢。

Answer 1:

据我所知在@Select注释不支持动态SQL。 我认为这是因为Java注解的一些限制。

在MyBatis的一个文档,你可以阅读:

注解是简单的语句会更加清晰,然而,Java注解是混乱,应该限制更复杂的语句。 因此,如果你有做复杂的事情,你就要去与XML映射语句更好



Answer 2:

而到了MyBatis 3,你现在可以在注释动态SQL(见备注 )。



文章来源: mybatis dynamic sql inside annotation
标签: mybatis