Mybatis-plus使用insert获取生成的主键

Mapper接口

@Mapper
public interface WxUserMapper extends BaseMapper<WxUser> {
    
    

}

我们在调用

public interface BaseMapper<T> extends Mapper<T> {
    
    

    /**
     * 插入一条记录
     *
     * @param entity 实体对象
     */
    int insert(T entity);
}

中的 insert 时, 当实体类的主键是自增的时候, 调用 insert 之后, 实体类的 id(主键) 属性会赋值为自动生成的主键.
JPA中也有类似的特性.
下面是执行的结果, 第五行为执行insert之后的实体类.

[20:38:39:310] [DEBUG] - org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:137) - ==>  Preparing: INSERT INTO wx_user ( openid, nick_name, avatar_url, gender, city, language, province, country, create_time, update_time, is_deleted ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )
[20:38:39:363] [DEBUG] - org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:137) - ==> Parameters: XXXXX(String), 虎子(String), https://thirdwx.qlogo.cn/mmopen/vi_32/DYAIOgq83eoVFD5oBMqxovibqCngp9MDslm6QEdM4OQjIrFwXJp4FatztTgzeOm2gtG7Po2cxjVqGcTjtuicNWJg/132(String), 1(Integer), Zhengzhou(String), zh_CN(String), Henan(String), China(String), null, null, 1(Integer)
[20:38:39:370] [DEBUG] - org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:137) - <==    Updates: 1
[20:38:39:389] [DEBUG] - org.mybatis.logging.Logger.debug(Logger.java:49) - Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@79f95da2]
[20:38:39:389] [INFO] - work.wxmx.wxminiprogram.service.impl.LoginServiceImpl.login(LoginServiceImpl.java:74) - 插入后的实体==>WxUser(id=1, openid=XXXXX, nickName=虎子, avatarUrl=https://thirdwx.qlogo.cn/mmopen/vi_32/DYAIOgq83eoVFD5oBMqxovibqCngp9MDslm6QEdM4OQjIrFwXJp4FatztTgzeOm2gtG7Po2cxjVqGcTjtuicNWJg/132, gender=1, city=Zhengzhou, language=zh_CN, province=Henan, country=China)

mybati-plus logo

猜你喜欢

转载自blog.csdn.net/qq_41359651/article/details/113001681