mybatis代码如下:
<select id="countCart" resultType="int">
SELECT
`count`
FROM
tb_shop_cart
WHERE
uid = #{uid}
AND
tid = #{tid}
AND
statu = 1
</select>
问题在于,有值时正常,当没有该记录时返回为null则会报错,下面即可解决(为null时返回0):
<select id="countCart" resultType="int">
SELECT ifnull((
SELECT
`count`
FROM
tb_shop_cart
WHERE
uid = #{uid}
AND
tid = #{tid}
AND
statu = 1
),0)
</select>
如下为判断是否存在某条记录,存在返回1,不存在返回0,省去了业务层的判断
<select id="isCollect" resultType="int">
select ifnull (
(select 1 from tb_collect where id=#{gid} and uid=#{uid} and `type`=0),0
)
</select>