通过前面的学习,我们了解到通过继承BaseMapper就可以获取到各种各样的单表操作,接下来我们将详细讲解这些
操作。
1、插入操作
1.1 方法定义
/*** 插入一条记录 * @param entity 实体对象 */ int insert(T entity);
1.2 测试用例
@RunWith(SpringRunner.class) @SpringBootTest public class TestUserMapper { @Autowired private UserMapper userMapper; @Test public void testInsert(){ User user=new User(); user.setAge(12); user.setName("曹操"); user.setPassword("123"); user.setMail("[email protected]"); user.setUserName("曹操"); user.setAddress("北京"); //result数据库受影响的行数 int result = userMapper.insert(user); System.out.println("result=>"+result); //获取自增长后的id值 System.out.println(user.getId());//自增后的id会回填到对象中 } }
1.3 测试
可以看到,数据已经写入到了数据库,但是,id的值不正确,我们期望的是数据库自增长,实际是MP生成了id的值
写入到了数据库。
如何设置id的生成策略呢?
MP支持的id策略
package com.baomidou.mybatisplus.annotation; im<strong style="color:transparent">本文来源gaodai#ma#com搞@@代~&码*网/</strong>port lombok.Getter; /** * 生成ID类型枚举类 * * @author hubin * @since 2015-11-10 */ @Getter public enum IdType { /** * 数据库ID自增 */ AUTO(0), /** * 该类型为未设置主键类型 */ NONE(1), /** * 用户输入ID * <p>该类型可以通过自己注册自动填充插件进行填充</p> */ INPUT(2), /* 以下3种类型、只有当插入对象ID 为空,才自动填充。 */ /** * 全局唯一ID (idWorker) */ ID_WORKER(3), /** * 全局唯一ID (UUID) */ UUID(4), /** * 字符串全局唯一ID (idWorker 的字符串表示) */ ID_WORKER_STR(5); private final int key; IdType(int key) { this.key = key; } }