在MyBatis中处理数据库的NULL值有多种方法,可以通过if、choose、when等标签来处理。
<select id="getUserById" parameterType="int" resultType="User">
SELECT * FROM user WHERE id = #{id}
<if test="name != null">
AND name = #{name}
</if>
</select>
<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>
<select id="getUserByName" parameterType="String" resultType="User">
SELECT * FROM user WHERE name = '${name}'
</select>
需要注意的是,对于使用${}占位符的方式,需要注意SQL注入问题,建议使用#{name}来处理参数。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Java中怎么用JDBC打印数据库报告