mybatis-plus-boot-starter 3.5.1 MybatisPlus 统一映射接口 BaseMapper.class 主键策略 ID生成器 public enum IdType { AUTO(0), 数据库自增id NONE(1), 未设置主键 INPUT(2), 手动输入 ASS
@TableId(type = IdType.AUTO) // 这个需要配合数据库设置自增来使用 private Integer id; 1. 2. 3.3.2、INPUT的使用 对于Postgresql数据库,并不支持直接设置字段自增,需要额外设置sequence来完成,那需要使用type = IdType.INPUT来设置 1、配置类中编写主键策略 内置支持: DB2KeyGenerator H2Key...
可以看到,成功获取了保存以后的主键。 useGeneratedKeys、keyProperty、keyColumn属性,仅能在insert或者update标签中使用。作用分别如下所示: useGeneratedKeys:是否自动生成主键,默认false。 keyColumn:数据库中的自增主键的列名,默认是数据库表的第一列,当主键列不是表中的第一列的时候需要设置。 keyProperty:返回的主键值...
实体类City的主键是Integer类型的,在进行insert操作时,MyBatis Plus自动生成了一个Long类型的主键id,导致参数类型不匹配,出现上述错误 经过查看日志和调试发现,MyBatis最终调用BeanWrapper的setBeanProperty方法,通过反射执行最终的插入操作(增删改查应该都是通过此处的反射,不过暂时只调试了insert方法) private void setBean...
* 主键ID * {@linkIdType} */ IdTypetypedefaultIdType.NONE; } 其中IdType很重要: 名称 描述 @TableFiled 表字段标识,下面看看其主要常用属性: 关于其他的属性,我不太推荐使用,用得越多,越容易蒙圈。可以通过wapper查询去设置。 2.2 CRUD mybatis-plus封装好了一条接口供我们直接调用。关于内部的具体方法...
IdType默认的全局设置为IdType.ASSIGN_ID,即由mybatis-plus主动分配主键,默认情况下由默认主键生成器实现类DefaultIdentifierGenerator采用雪花算法填充主键。 public DbConfig() {this.idType = IdType.ASSIGN_ID;this.tableUnderline = true;this.capitalMode = false;this.logicDeleteValue = "1";this.logicNotDel...
这是不使用主键处理逻辑的插入sql注入,使用的就是在injectMappedStatement方法中加入这个: KeyGenerator keyGenerator = new NoKeyGenerator(); SqlMethod sqlMethod = SqlMethod.INSERT_ONE; String keyProperty = null; String keyColumn = null; // 表包含主键处理逻辑,如果不包含主键当普通字段处理 ...
咱们可以看到自动生成的主键是一个不知道是啥的数字,这个是应为我们没有设置主键增长类型,我们再实体类中使用@TableId(type = IdType.AUTO)设置为自动增长即可 1.3.2 更新操作 ☞ int updateById(@Param(“et”) T entity) 代码语言:javascript ...
主键id不设置的话默认使用雪花算法生成 2.2 删(delete) 根据主键删除单条记录(deleteById) @Testpublic void deleteByIdTest() {// DELETE FROM user WHERE id=?int result = mapper.deleteById(1502966571370401793L);System.out.println("受影响的行数: " + result);} ...