新版本默认为NONE,注解里等于跟随全局,全局里约等于 INPUT。 (1)AUTO:数据库ID自增。 (2)NONE:无状态,该类型为未设置主键类型(注解里等于跟随全局,全局里约等于 INPUT)。 (3)INPUT:insert前自行set主键值,即我们插入前,需要手动设置id。 (4)ASSIGN_ID:分配ID(主键类型为Number(Long和Integer)或String)(since ...
@TableField(fill = FieldFill.INSERT)// 如果继承接口,已经实现了insertFill,需要实现 MetaObjectHandler,见AutoTimeConfig privateLocalDateTime created; @TableField(fill = FieldFill.UPDATE)// 需要实现 MetaObjectHandler privateLocalDateTime updated; @TableField(fill = FieldFill.INSERT_UPDATE)// 需要实现 MetaOb...
String columnScript = LEFT_BRACKET + insertSqlColumn.substring(0, insertSqlColumn.length() -1) + RIGHT_BRACKET; String insertSqlProperty = tableInfo.getKeyInsertSqlProperty(true, ENTITY_DOT,false) +this.filterTableFieldInfo(fieldList, predicate, i -> i.getInsertSqlProperty(ENTITY_DOT), EMPTY)...
</insert> 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. insert可以使用数据库支持的自动生成主键策略,设置useGeneratedKeys=”true”,然后把keyProperty 设成对应的列,就搞定了。比如说上面的StudentEntity 使用auto-generated 为id 列生成主键. <insert id="insertStudent" parameterType="StudentEntity...
public void insert(){ Department department=new Department(); department.setName("测试名称2"); department.setRemark("测试备注"); departmentMapper.insert(department); } 1. 2. 3. 4. 5. 6. 7. 运行报错: 具体报错信息: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache...
说明:insert()方法的返回值是成功插入到数据库的条数,对于主键id的话,可以通过实体类中的getId()进行获取,如果命名不是id呢?这个是可以通过注解指定的,后面会讲到这方面的注解。 如果想要在控制台查看执行的SQL的话,需要在application.properties进行配置: ...
在进行数据插入时,需要根据唯一索引(有时是联合索引,联合索引确定唯一一条记录)进行插入数据,当有更新的数据到来时,能及时更新已保存的记录数据;以往的经验是,根据唯一索引,先查询一下,是否有该条记录,如果有,更新指定字段值后,再进行一次updateById操作,以下介绍一种insertOrUpdate方式,实现插入或更新功能,即当新插入...
insert 前自行 set 主键值 IdType.ASSIGN_UUID: 基于雪花算法的策略生成数据UUID,主键类型为 String,与数据库id是否设置自增无关 ② 配置全局主键策略: mybatis-plus:configuration:# 配置MyBatis日志log-impl:org.apache.ibatis.logging.stdout.StdOutImplglobal-config:db-config:#配置mybatis-plus操作表的默认前缀...
NONE:无状态,该类型为未设置主键类型(注解里等于跟随全局,全局里约等于 INPUT) INPUT: insert 前自行 set 主键值 ASSIGN_ID: 分配 ID(主键类型为 Number(Long 和 Integer)或 String)(since 3.3.0),使用接口IdentifierGenerator的方法nextId(默认实现类为DefaultIdentifierGenerator雪花算法) ...
需要在普通属性上使用注解@TableField,表明改改属性对应表的字段的名称,如果属性名称和表的字段名称一致,可以省略 @Test public void testInsert(){ //创建一个学生 Student stu = new Student(); stu.setSname("黄药师"); stu.setSage(70); stu.setSphone("1234"); ...