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

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

select 
    u.User_pictureUrl,
    u.User_phone,u.ID as userId,
    u.user_nickname,
    IFNULL(f.userFriend_status,3)as status ,
    IFNULL(f.userFriend_comment, )as userFriend_comment,
    IFNULL(f.userFriend_address, )as userFriend_address
from 
    tab_userinfo u 
    LEFT JOIN tab_userfriend f ON  u.ID=f.userFriend_user_id  
where 
    u.ID=#{userId}

mybatis中插入

<insert id="insertForeach" parameterType="java.util.List" >
        insert into user_message
        (
        skip_id,user_id
        )
        values
        <foreach collection="list" item="userMessage" index="index" separator=",">
            (
            ifnull(#{userMessage.skipId},"0"),
            #{userMessage.userId}
            )
        </foreach>
</insert>

等同于:

<if test="userMessage.skipId !=null and userMessage.skipId!=">
	#{userMessage.skipId},
</if>
<if test="userMessage.skipSonId !=null and userMessage.skipSonId!=">
	#{userMessage.skipSonId},
</if>
<if test="userMessage.jumpType !=null and userMessage.jumpType!=">
	#{userMessage.jumpType},
</if>
 
 
<if test="userMessage.skipId ==null or userMessage.skipId ==">
	"0",
</if>
<if test="userMessage.skipSonId ==null or userMessage.skipSonId ==">
	"0",
</if>
<if test="userMessage.jumpType ==null or userMessage.jumpType ==">
	0,
</if>

详见:

经验分享 程序员 微信小程序 职场和发展