• mybatis中sql标签、where标签、foreach标签用法


    <sql id="query_user_where">
         <!-- 如果 userQueryVo中传入查询条件,再进行sql拼接-->
        <!-- test中userCustom.username表示从userQueryVo读取属性值-->
        <if test="userCustom!=null">
            <if test="userCustom.username!=null and userCustom.username!=''">
                and username like '%${userCustom.username}%'
            </if>
            <if test="userCustom.sex!=null and userCustom.sex!=''">
                and sex = #{userCustom.sex}
            </if>
            <!-- 根据id集合查询用户信息 -->
            <!-- 最终拼接的效果:
            SELECT id ,username ,birthday  FROM USER WHERE username LIKE '%小明%' AND id IN (16,22,25)
            collection:集合的属性
            open:开始循环拼接的串
            close:结束循环拼接的串
            item:每次循环取到的对象
            separator:每两次循环中间拼接的串
             -->
             <foreach collection="ids" open=" AND id IN ( " close=")" item="id" separator=",">
                 #{id}
             </foreach>
             <!-- 
             SELECT id ,username ,birthday  FROM USER WHERE username LIKE '%小明%' AND (id = 16 OR id = 22 OR id = 25) 
              <foreach collection="ids" open=" AND ( " close=")" item="id" separator="OR">
                 id = #{id}
             </foreach>
              -->
            <!-- 还有很的查询条件 -->
        </if>
    </sql>
     1 <select id="findUserList" parameterType="userQueryVo" resultType="user">
     2             select id,username,birthday from user
     3     <!-- where标签相当 于where关键字,可以自动去除第一个and -->
     4     <where>
     5         <!-- 引用sql片段,如果sql片段和引用处不在同一个mapper必须前边加namespace -->
     6         <include refid="query_user_where"></include>
     7         <!-- 下边还有很其它的条件 -->
     8         <!-- <include refid="其它的sql片段"></include> -->
     9     </where>
    10 </select>
  • 相关阅读:
    闭包的一个经典例子
    手机归属地查询API
    安卓模拟器导入通讯录
    使用RazorGenerator实现项目模块分离
    .met mvc 一种判断是否已登录的方式
    stl 空间配置器理解
    STL 生成全排列
    KMP算法理解
    解决八皇后问题,递归与非递归方式两种
    获取第K大的数
  • 原文地址:https://www.cnblogs.com/fnlingnzb-learner/p/9939700.html
Copyright © 2020-2023  润新知