mybatis 动态sql

  • where if
    <select id="findUsersByNameAndSex" parameterType="com.itheima.pojo.User" resultType="com.itheima.pojo.User">
        select * from user
        <where>
            <if test="name!=null and name!=''">
                and name like '%${name}%'
            </if>
            <if test="sex!=null and sex!=''">
                and sex =#{sex}
            </if>
        </where>
    </select>
  • for each
    <select id="findUsersByIds" parameterType="com.itheima.vo.QueryVo" resultType="com.itheima.pojo.User">
        select * from user 
        <where>
            <if test="ids!=null and ids.size>0">
                <foreach collection="ids"  item="id" open="id in (" close=")" separator="," >
                    #{id}
                </foreach>
            </if>
        </where>
    </select>
  • sql
    定义sql段
<sql id="query_user_where">
    <if test="id!=null and id!=''">
        and id=#{id}
    </if>
    <if test="username!=null and username!=''">
        and username like '%${username}%'
    </if>
</sql>
<!-- 传递pojo综合查询用户信息 引用sql段 -->
    <select id="findUserList" parameterType="user" resultType="user">
        select * from user 
        <where>
        <include refid="query_user_where"/>
        </where>
    </select>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容