mysql+mybatis对为null的值赋默认值(ifnull)

深藏阁楼爱情的钟 2021-09-29 01:56 1308阅读 0赞

查询两张表 并且对为空的值做默认值

  1. select
  2. u.User_pictureUrl,
  3. u.User_phone,u.ID as userId,
  4. u.user_nickname,
  5. IFNULL(f.userFriend_status,3)as status ,
  6. IFNULL(f.userFriend_comment,' ')as userFriend_comment,
  7. IFNULL(f.userFriend_address,' ')as userFriend_address
  8. from
  9. tab_userinfo u
  10. LEFT JOIN tab_userfriend f ON u.ID=f.userFriend_user_id
  11. where
  12. u.ID=#{userId}

mybatis中插入

  1. <insert id="insertForeach" parameterType="java.util.List" >
  2. insert into user_message
  3. (
  4. skip_id,user_id
  5. )
  6. values
  7. <foreach collection="list" item="userMessage" index="index" separator=",">
  8. (
  9. ifnull(#{userMessage.skipId},"0"),
  10. #{userMessage.userId}
  11. )
  12. </foreach>
  13. </insert>

等同于:

  1. <if test="userMessage.skipId !=null and userMessage.skipId!=''">
  2. #{userMessage.skipId},
  3. </if>
  4. <if test="userMessage.skipSonId !=null and userMessage.skipSonId!=''">
  5. #{userMessage.skipSonId},
  6. </if>
  7. <if test="userMessage.jumpType !=null and userMessage.jumpType!=''">
  8. #{userMessage.jumpType},
  9. </if>
  10. <if test="userMessage.skipId ==null or userMessage.skipId ==''">
  11. "0",
  12. </if>
  13. <if test="userMessage.skipSonId ==null or userMessage.skipSonId ==''">
  14. "0",
  15. </if>
  16. <if test="userMessage.jumpType ==null or userMessage.jumpType ==''">
  17. 0,
  18. </if>

详见:https://blog.csdn.net/weixin_38137028/article/details/88245042

发表评论

表情:
评论列表 (有 0 条评论,1308人围观)

还没有评论,来说两句吧...

相关阅读