MyBatis动态SQL之一使用 if 标签和 choose标签
来源:互联网 发布:微分几何 知乎 编辑:程序博客网 时间:2024/06/05 09:19
转:http://blog.csdn.net/dukangcheng/article/details/50823598
版权声明:本文为博主原创文章,未经博主允许不得转载。
使用MyBatis写动态SQL查询相比Hiberntate是非常方便的。select不仅能够根据mapper接口中的返回值自动匹配
查询selectOne还是selectList,而且在查询中还可以灵活的定制查询的方式,添加if 或者 choose等标签进行查询。
下面我们来看一看怎么通过这些标签灵活的定义查询的语句,最大限度的提升查询的效率:
我以一个自关联的商品类型为例ItemsType类型为例,商品类型里面有一个父类型即parentType属性,现在就需要通过
父类型查询商品类型,返回的结果是一个List<ItemsType>的集合类型,也就是相当于一棵树的查询,根据父节点查询子节点
在mapper.Java中代码如下:
上面方法中的参数是一个包装类,里面封装了父类节点的ID属性(int型): 因为MyBatis中如果直接使用int类型的会报 there is no getter for property named propertyType in java.lang.Integer的异常,所以使用了包装类来避免这样的情况发生。
所以在mapper.xml中查询的方式是:
以上两种方式查询都能够得到正确的结果,语句中使用到的值是使用OGNL的方式传递的。设置好参数类型之后直接使用ognl表达式就可以了!
个人总结,还请多多指!
0 0
- MyBatis动态SQL之一使用 if 标签和 choose标签
- MyBatis动态SQL之一使用 if 标签和 choose标签
- MyBatis动态SQL<choose>标签的使用
- MyBatis--动态SQL---choose标签
- mybatis 之 动态sql(一)choose标签的使用
- mybatis的动态SQL(二)choose标签的使用
- MyBatis--动态SQL---if标签
- 动态sql之使用choose标签
- mybatis的动态SQL(一)if标签的使用
- Mybatis <where> <if> <set> <trim> <choose>标签
- mybatis choose标签的使用
- Mybatis的动态sql语句if和choose
- Mybatis的动态sql语句if和choose
- Mybatis的动态sql语句if和choose
- mybatis 的<choose> <when>标签和<if test >标签的区别
- JSTL的if和choose标签
- MyBatis动态SQL标签
- Mybatis动态SQL单一基础类型参数用if标签
- 欢迎使用CSDN-markdown编辑器
- 方立勋_30天掌握JavaWeb_Web开发入门
- 欢迎使用CSDN-markdown编辑器
- 算法-“选择排序”程序模拟
- [CSU 1833 Lab] 概率+递推
- MyBatis动态SQL之一使用 if 标签和 choose标签
- 欢迎使用CSDN-markdown编辑器
- mysql5.7兼容模式
- 机器学习中的玻尔兹曼分布——最小代价和极大似然
- 不一样的斐波那契
- Problem A: 平面上的点——Point类 (III)
- [LeetCode]75. Sort Colors
- cookie基础与使用
- 二分搜索大法