如设置了主键 ID,因为主键 ID 必须是唯一的,Mybatis Plus 会先执行查询操作,判断数据是否存在,存在即执行更新,否则,执行插入操作: User user =newUser();// 设置了主键字段user.setId(21L); user.setName("小小哈"); user.setAge(60); user.setGender(1); userService.saveOrUpdate(user); 具体执行 SQ...
mybatis-plus的方式 其实在之前使用mp进行新增数据的时候,我并没有进行对应的配置,默认就会带有主键id。 对其配置也很简单,在主键上加注解,@TableId(type = IdType.ID_WORKER) @DatapublicclassUser{@TableId(type=IdType.ID_WORKER)privateLongid;privateStringname;privateIntegerage;privateStringemail;@TableField...
//1、根据主键获取 UserDO userDO = mapper.selectById(1); //2、根据手机号获取 单个 UserDO userDO1 = mapper.selectOne(new LambdaQueryWrapper<UserDO>().eq(UserDO::getPhone, "13312345678")); //3、获取集合 List<UserDO> userDOS = mapper.selectList(new LambdaQueryWrapper<UserDO>().eq(User...
这是由于Mybatis-Plus默认就会采用雪花算法填充主键字段。 今天就和大家详解聊聊Mybatis-Plus中主键生成的相关策略。 一、官网 Mybatis-Plus主键策略: https://baomidou.com/pages/e131bd/ Mybatis-Plus自定义ID生成器: https://baomidou.com/pages/568eb2/ TIP⚠️: 推荐学习...
java mybatisplus insert 主键 mybatis insert语句 一、select <!-- 查询学生,根据id --> SELECT ST.STUDENT_ID, ST.STUDENT_NAME, ST.STUDENT_SEX, ST.STUDENT_BIRTHDAY, ST.CLASS_ID FROM STUDENT_TBL ST WHERE ST.STUDENT_ID = #{studentID} ...
本节首先分享Mp中的主键类型以及如何利用注解去指定与数据库对应的表名和字段名。 其次分享查询构造器中的allEq和eq用法。 二、主键类型 在MybatisPlus中主键类型是IdType的枚举类型。 下面具体解释一下各类型的意思,并且通过实例演示他们的使用规则。 AUTO:自动增长,主要用于MySql、Sql Server支持主键自增长的数据库 ...
也就是我们设置的自动递增生效了,但是由于第一次使用MybatisPlus的insert()方法插入导致自增id值变成很大的一个数,那么在表结构中"自动递增"这个字段的值也变成了很大的数加1,也就是下一个id的值。 我们插入主键自动增长也就是获取这个值,所以我们即使设置了@TableId注解,也失败了,因为"自动递增"字段已经变成了...
这种在代码里硬编码数据库字段名,给人感觉非常的不规范,那是否可以像lambdaQuery那样,不硬编码也可以获取到数据库字段名呢?类似这样子: String columName = columnResolver.getColumn(Order::getOrderCode); Wrappers.<Order>query().select("distinct " + columName); ...
StdOutImpl global-config: db-config: # 配置MyBatis-Plus操作表的默认前缀 table-prefix: t_ # 配置MyBatis-Plus的主键策略 id-type: auto 3@TableField MyBatis-Plus在执行SQL语句时,要保证实体类中的属性名和表中的字段名一致,如果实体类中的属性名和字段名不一致的情况, 若实体类中的属性使用的是驼峰...
自定义主键生成策略:可以通过实现IdentifierGenerator接口来自定义主键生成策略。在自定义的主键生成策略中,你可以根据自己的需求生成唯一的主键ID,并将其应用于实体类的主键字段。 我们来看一下MyBatisPlus提供的IdType枚举类型 代码语言:javascript 复制 @GetterpublicenumIdType{/** ...