有关于动态sql的where 的<if>

以userdao.xml为列:
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="ssmDemo.UserDao">
    <resultMap id="user" type="User">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="age" column="age"/>
        <result property="sex" column="sex"/>
        <result property="email" column="email"/>
    </resultMap>
    <!--根据id查询User的数据-->
    <select id="getUser" resultType="user" parameterType="int">
        SELECT * FROM USER WHERE id=#{id}
    </select>
    <!--根据name查询User的数据集合-->
    <select id="getUserList" resultType="user" parameterType="string">
        SELECT * from USER where name=#{name}
    </select>
    <!--根据age查询User-->
    <select id="getUserAge" resultType="user" parameterType="int">
        SELECT * from USER WHERE age=#{age}
    </select>
    <!--根据性别,姓名,email查询User集合,用动态sql来判断-->
    <select id="getAge" resultType="user" parameterType="int">
        SELECT * from USER
        WHERE
        <if test="sex!=null">
            sex=#{sex}
        </if>
        <if test="name!=null and name!=''">
           and name like #{name}
        </if>
        <if test="email!=null and email.trim()!=''">
            and email=#{email}
        </if>
    </select>


</mapper>

猜你喜欢

转载自blog.csdn.net/LRXmrlirixing/article/details/82746644