Mybatis插入数据后,获取自增id

插入数据返回Id

id必须为自动增长否则会抛这个(java.sql.SQLException: Field ‘id’ doesn’t have a default value)异常

mapper.xml

<insert id="insertUser" useGeneratedKeys="true" keyProperty="id" parameterType="com.lzq.springbootmybatis01.entity.User" >
        insert into t_user_info (name,high,weight,age) values (#{name},#{high},#{weight},#{age})
</insert>

useGeneratedKeys必须定义为true(官方解释:允许JDBC支持自动生成主键,需要驱动兼容),keyProperty对应的是数据库表内字段

//插入数据库后直接调用get()方法就可获取主键id
User user = User.builder().name("lzq").high(180.0).weight(130.0).age(18).build();
 //如果result是1就代表插入成功,是0的话就是插入失败
Integer result= service.insertUser(user);
//这里直接调用get方法即可获取主键id
logger.debug("主键Id"+user.getId());

你可能感兴趣的:(java)