03 mybatis-plus通用CRUD

本文介绍了mybatis-plus的通用CRUD操作,包括插入数据时的主键生成策略,如自增策略、手动输入、UUID、ID_WORKER_STR和ID_WORKER。主键策略在不同情况下有不同的使用方式,例如自增主键无需设置,而UUID和ID_WORKER算法适用于非自增主键。此外,还提及了更新、删除和查询数据的基本操作,以及分页查询需配置分页插件。
摘要由CSDN通过智能技术生成

项目文件看前面文章,

mybatis-plus官方api文档

插入数据

    /*
    插入一条记录 
    insert
    @param entity 实体对象
     */
    @Test
    public void testInsert(){
   
        User user =new User();
        user.setUserName("程程");
        user.setName("chengcheng");
        user.setPassWord("123456");
        /* 插入时间格式数据
        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy‐MM‐dd HH:mm:ss");
        LocalDateTime localDateTime = LocalDateTime.parse("1990‐01‐01 00:00:00", df);
        user.setBirthday(localDateTime);
         */
        user.setBirthday("1991-01-01");
        user.setAge(34);
        user.setEmail("152415@it.com");
        int result = userMapper.insert(user); //返回的result是受影响的行数,并不是自增后的id
        System.out.println("result = " + result);
        System.out.println(user.getId()); //自增后的id会回填到对象中

        /*
        result = 1
        1367412631087063041
         */

    }
主键生成策略

在实体类User中设置id的生成策略

  • 自增策略
    mysql数据库主键为自增
    不用设置主键,setId输入的无效
    @TableId(value = "id",type = IdType.AUTO)  //指定主键字段名
    private Long id;
  • 手动输入
    mysql数据库主键为自增增或不是自增都可以
    必须设置主键setId,否则运行报错
    @TableId(value = "id",type = IdType.INPUT)  //指定主键字段名
    private Long id;
  • UUID
    生成全局唯一ID。
    mysql数据库主键为字符串类型,不是自增类型。
    不用设置主键setId
    @TableId(value = "id",type = IdType.UUID)  //指定主键字段名
    private String id;
  • ID_WORKER_STR
    采用雪花片算法(雪花算法生成的ID是纯数字且具有时间顺序,适合分布式场景)生成全局唯一ID,字符串类型。
    mysql数据库主键为字符串类型,不是自增类型。
    @TableId(value = "id",type = IdType.ID_WORKER_STR)  //指定主键字段名
    private String id;
  • ID_WORKER
    采用雪花片算法生成全局唯一ID,数值类型。
    mysql数据库主键为数值类型,不是自增类型。
    @TableId(value = "id",type = IdType.ID_WORKER)  //指定主键字段名
    private Long id;

更新数据

    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

岿然如故

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值