mybatis中动态sql和sql标签与include标签以及choose标签的使用

SQL标签与include标签:

我们用SQL来写一个分页举例,首先还是我们的 Mapper 里面:

mybatis中动态sql和sql标签与include标签以及choose标签的使用

我们的方法里面写个固定的数据:

mybatis中动态sql和sql标签与include标签以及choose标签的使用

然后是我们的Dao的接口里面:

mybatis中动态sql和sql标签与include标签以及choose标签的使用

这里面的要注意的是我们的映射里面真正的是和@Param括号里的名子有关系,跟其他的没关系,也就是说@Param括号里的start是对应的是Mapper里的 #{start},后面的pagesize也一样。

完整的结果如下:

完毕

[Branch [branchid=1, name123=null, movieType=MovieType [typeid=null, typename=null, branid=0], staffSet=[]], Branch [branchid=2, name123=null, movieType=MovieType [typeid=null, typename=null, branid=0], staffSet=[]]]

动态SQL:

MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其他类似框架的 经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦。拼接的时候要确保不能忘了 必要的空格,还要注意省掉列名列表最后的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。

我们写一个条件查询的例子,先是dao写一个接口:

mybatis中动态sql和sql标签与include标签以及choose标签的使用

 

然后我们就需要在Mapper写一下:

mybatis中动态sql和sql标签与include标签以及choose标签的使用

写完后方法里就需要加点东西了

mybatis中动态sql和sql标签与include标签以及choose标签的使用

结果如下:

mybatis中动态sql和sql标签与include标签以及choose标签的使用

 

choose标签:

 

mybatis中动态sql和sql标签与include标签以及choose标签的使用