【MyBatis学习09】SQL片段
来源:互联网 发布:notepad python插件 编辑:程序博客网 时间:2024/06/05 03:59
本文博客地址:http://blog.csdn.net/soonfly/article/details/63688057 (转载请注明出处)
在写SQL语句时,有很多是可以重用的,比如前台显示会员,必须是审核通过、没有软删除、没有被锁定。
那么这条件应该是公用:isdel=0 and islock=0 and isvalidate=1
因为在所有外部场景中查询用户的语句中都要用到,如查询单个,搜索用户列表,查询商品购买用户等等。
基于重用的思想,mybatis提供了sql片段。
一、创建
<sql id="member_mustWhere"> and isdel=0 and islock=0 and isvalidate=1</sql>
二、使用
<select id="findByName" parameterType="String" resultType="twm.mybatisdemo.pojo.User"> <bind name="likestr" value="'%'+ searchkey +'%'"></bind> select * from user <where> <if test="searchkey !='' and searchkey !=null"> username like #{likestr} </if> <!-- sql片段引入 --> <include refid="member_mustWhere"></include> </where></select>
sql片段只能在同一个mapper上下文中使用,同一上下文中的不同sql片段的id必须唯一。
sql片段可以嵌套引用:
<sql id="member_mustWhere"> and isdel=0 and islock=0 <include refid="member_mustWhere_validate"></include></sql> <sql id="member_mustWhere_validate">and isvalidate=1</sql><select id="findByName" parameterType="String" resultType="twm.mybatisdemo.pojo.User"> <bind name="likestr" value="'%'+ searchkey +'%'"></bind> select * from user <where> <if test="searchkey !='' and searchkey !=null"> username like #{likestr} </if> <!-- sql片段引入 --> <include refid="member_mustWhere"></include> </where></select>
本文博客地址:http://blog.csdn.net/soonfly/article/details/63688057 (转载请注明出处)
0 0
- 【MyBatis学习09】SQL片段
- ssm框架学习---mybatis中动态sql中的sql片段
- MyBatis学习三:SqlMapConfig.xml属性和sql片段
- ssm框架学习---mybatis中动态sql中的if片段
- ssm框架学习---mybatis中动态sql中的foreach片段
- MyBatis中的Sql片段使用
- Mybatis学习(十二)mybatis理解动态sql及sql片段
- [mybatis]动态SQL与SQL片段
- Mybatis动态sql和sql片段
- mybatis自定义别名与sql片段
- mybatis动态Sql(if-where)和sql片段
- MyBatis中sql片段的定义与引用
- mybatis之sql片段和一对多等配置
- sql片段
- MyBatis动态SQL学习
- Mybatis动态sql___sql片段
- mybatis之片段查询
- Mybatis - SqlMapConfig.xml , 输入映射 ,输出映射 ,动态sql ,sql片段
- 历届试题 回文数字
- java基础
- 命令行参数:关于java程序中main函数的String[] args参数的用法
- 关于java io知识的初步了解
- PHP服务器 支付宝 对接出现 【交易订单处理失败 请稍后再试 ALI38173】
- 【MyBatis学习09】SQL片段
- POJ 1182 食物链(带权并查集)
- 做视频的第三方
- Hbase Api 基于1.0.3版本
- android蓝牙开发---与蓝牙模块进行通信
- 带你理解beta分布
- JAVA HttpClient使用
- 【转】C++ 异常处理
- FZU2150 fire 双搜bfs