MyBatis中怎么处理数据库的NULL值

lewis 2020-01-29 26次阅读

在MyBatis中处理数据库的NULL值有多种方法,可以通过if、choose、when等标签来处理。

  1. 使用if标签处理NULL值:
<select id="getUserById" parameterType="int" resultType="User">
    SELECT * FROM user WHERE id = #{id}
    <if test="name != null">
        AND name = #{name}
    </if>
</select>
  1. 使用choose、when标签处理NULL值:
<select id="getUserById" parameterType="int" resultType="User">
    SELECT * FROM user WHERE id = #{id}
    <choose>
        <when test="name != null">
            AND name = #{name}
        </when>
        <otherwise>
            AND name IS NULL
        </otherwise>
    </choose>
</select>
  1. 使用${}占位符处理NULL值:
<select id="getUserByName" parameterType="String" resultType="User">
    SELECT * FROM user WHERE name = '${name}'
</select>

需要注意的是,对于使用${}占位符的方式,需要注意SQL注入问题,建议使用#{name}来处理参数。



发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。