新手记一次mybatis中利用SQL语句给boolean类型赋值的问题

当在用mybatis连接数据库的时候 想要验证一个值是否存在时出现的问题

在工程中想要验证数据库中t_user表中是否存在相同userId,存在返回true 不存在返回false

那么问题来了

  • 数据库SQL中没有boolean类型
  • Sql返回值为空的时候mybatis如何去接收数据
    mybatis中的代码
  <select id="findExistId" parameterType="java.lang.String" resultType="String">
  SELECT user_id from t_user WHERE user_id = #{userid} 
  </select>

User类代码

public class User {
	public String userId;
    public String userName;
     public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }
    }

作为新手第一时间想到的是用User去接再用if去判断,但是用User类如果表中为空会出现空指针异常

这个时候经查阅,发现了一个方法

  • 先统计出现的次数
SELECT COUNT(user_id) from t_user WHERE user_id = #{userid} 
  • 将mybatis的resultType返回值类型修改为boolean
  <select id="findExistId" parameterType="java.lang.String" resultType="boolean">
  SELECT COUNT(user_id) from t_user WHERE user_id = #{userid} 
  </select>

(ps:当返回的值>=1时 ,则mybatis会返回true,否则返回false)

至此问题结束

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值