• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Mybatis-Plus 通用CRUD的详细操作

mybatis 搞代码 4年前 (2022-01-09) 13次浏览 已收录 0个评论
文章目录[隐藏]

通过前面的学习,我们了解到通过继承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;
    }
}

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Mybatis-Plus 通用CRUD的详细操作
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址