随笔分类 -  mybatisplus学习

摘要:当要更新一条记录的时候,希望这条记录没有被别人更新乐观锁实现方式: 取出记录时,获取当前 version 更新时,带上这个 version 执行更新时, set version = newVersion where version = oldVersion 如果 version 不对,就更新失败 实 阅读全文
posted @ 2023-09-01 17:26 Zzzz/ 阅读(9) 评论(0) 推荐(0) 编辑
摘要:从官网可以了解到自动填充实习步骤分为两步,第一步在实体类添加自动填充注解例如自动填充插入时间和更新时间 仅仅是注解无法帮助我们完成填充功能,我们需要为他创建处理器,创造类为注解编写相应的方法,mp已经为我们编写了抽象的MetaObjectHandler我们仅需要继承他然后重新方法即可,当然要想被sp 阅读全文
posted @ 2023-09-01 10:27 Zzzz/ 阅读(26) 评论(0) 推荐(0) 编辑
摘要:默认主键策略为ASSIGN_ID(全局唯一id) AUTO为自增id,需要在数据库中设置主键自增 NONE为不设置主键策略 INPUT将主键设置为手动输入 ASSIGN_UUID也是全局唯一id 实现步骤:在实体类中加入注解@TableId(type=IDType.AUTO)即可 阅读全文
posted @ 2023-09-01 10:19 Zzzz/ 阅读(79) 评论(0) 推荐(0) 编辑
摘要:spring: datasource: username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatis_plus?useUnicode 阅读全文
posted @ 2023-08-31 16:58 Zzzz/ 阅读(133) 评论(0) 推荐(0) 编辑
摘要:和分页查询同理采用的是拦截器interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); 利用拦截器判断数据是否被修改,添加版本字段version,在实体类中添加属性然后添加注解@version 添加字段即可,当两个 阅读全文
posted @ 2023-08-09 08:47 Zzzz/ 阅读(7) 评论(0) 推荐(0) 编辑
摘要:对于添加和更新的时间设置自动填充时间。 在表中添加两个字段为time类型,为了让实体类能够映射,采用下划线格式,对照实体类驼峰命名。(需要在yml中添加驼峰支持) 创建属性后 需要添加注解表示在添加和更新后更新时间(更新只用更新updaTime) 然后为他们创造处理器,添加@Component注解注 阅读全文
posted @ 2023-08-09 08:39 Zzzz/ 阅读(24) 评论(0) 推荐(0) 编辑
摘要:需要在定义字段前添加注解来对应数据库中的字段信息@TableField(typeHandler = FastjsonTypeHandler.class) 同时添加类注解@TableName(autoResultMap = true),并在pom中配置Fastjson 然后在添加user信息时需要创建 阅读全文
posted @ 2023-08-08 09:47 Zzzz/ 阅读(8) 评论(0) 推荐(0) 编辑
摘要:注意:使用enum类型创建属性,必须添加@TableField(typeHandler = EnumOrdinalTypeHandler.class)注解,否则查询会失败 使用Map封装数据信息也需要添加同样注解@TableField(typeHandler = FastjsonTypeHandle 阅读全文
posted @ 2023-08-07 16:59 Zzzz/ 阅读(48) 评论(0) 推荐(0) 编辑
摘要:在表中添加状态status,1为正常,0为删除,在User类中生成属性后在属性上添加注解 @TableLogic(value = "1",delval = "0")执行删除操作后会将status变为0,select不会显示。 阅读全文
posted @ 2023-08-07 16:51 Zzzz/ 阅读(30) 评论(0) 推荐(0) 编辑
摘要:使用limit关键字进行分页 步骤:创建配置类,创建一个拦截器,在尾部添加limit实现分页 然后创建IPage对象,利用Page实现 IPage<User> page = new Page<>(1,3); 自定义分页查询:自己在resources中创建自定义查询方法,进行如下配置 随后在对应的接口 阅读全文
posted @ 2023-08-07 14:23 Zzzz/ 阅读(81) 评论(0) 推荐(0) 编辑
摘要:自增主键@auto,要让插入的数据id自增需要使用注解该注解在实体类中添加@TableId(type = IdType.AUTO)注解 然后在测试类中直接设置user属性值,使用方法insert插入即可。 注意:需要在表中设置自增,切将自增的值与数据表中的主键值对应 @INPUT注解手动插入主键属性 阅读全文
posted @ 2023-08-04 17:24 Zzzz/ 阅读(42) 评论(0) 推荐(0) 编辑
摘要:自定义字段查询:apply方法,在apply(“逻辑条件”)即可 and查询(并列查询)利用.来连接方法 or同理,使用or.()连接方法 and内嵌使用:使用.and()连接来进行嵌套方法,嵌套使用i->i来替代前面创建的对象来调用方法 exists方法,判断方法中的条件为true或false,为 阅读全文
posted @ 2023-08-04 13:21 Zzzz/ 阅读(24) 评论(0) 推荐(0) 编辑
摘要:升序查询:orderByAsc,排序可以按照多个属性排序,当第一个条件相等时按第二个条件做升序查询 降序排序:orderByDesc,和升序同理 组合排序:升序+降序 使用orderBy方法(为空是否继续排序,是否为升序,排序的字段) 内嵌方法查询 利用new consumer创建抽象类重写方法 使 阅读全文
posted @ 2023-08-04 10:22 Zzzz/ 阅读(82) 评论(0) 推荐(0) 编辑
摘要:groupBy 查询分组信息需要利用到groupBy方法获取需要查询的属性,然后利用select方法查询属性,利用count(*)求出数量输出,输出可以使用map对数据进行封装,(map可以存储列表名),同时查询方法也应该为selectMaps 分组查询后可以使用having方法进行聚合二次查询qu 阅读全文
posted @ 2023-08-04 09:14 Zzzz/ 阅读(145) 评论(0) 推荐(0) 编辑
摘要:使用in方法连续插入多个属性查询信息 多个信息需要使用数组使用需要提前创建数组来方便插入 快速创建数组使用List方法然后使用collections方法来插入信息到改数组中 最后使用in方法(属性,数组)来查询,同理使用notIn查询不符合字段的属性信息 自定义查询方法可以使用inSql方法在查找类 阅读全文
posted @ 2023-08-03 16:45 Zzzz/ 阅读(40) 评论(0) 推荐(0) 编辑
摘要:多条件查询: 使用hashmap方法创建对象来调用hashmap.put,然后创建querywrapper对象调用allEq方法启动条件查询方法 不等值查询: 和前面步骤一致,但是需要调用查询方法为ne方法,返回值多为数组 等值查询方法gt,大于等于该值方法ge,小于方法lt,小于等于方法le 范围 阅读全文
posted @ 2023-08-03 15:16 Zzzz/ 阅读(62) 评论(0) 推荐(0) 编辑
摘要:使用QueryWrapper<User>或者LambdaQueryWrapper<User>(区别在于后者可以直接列举出需要用的属性字段,约束不易出错)创建对象,调用eq方法设置查询条件,再次利用注解@Autowired快速创建引用来调用之前设置的eq方法 等值查询中对null 的处理: 设置nam 阅读全文
posted @ 2023-08-03 10:48 Zzzz/ 阅读(61) 评论(0) 推荐(0) 编辑
摘要:在创建的表中有一个字段中没有值时需要查询表信息可以使用@TableField("`字段名`")自动为该字段补充信息。 如果需要忽略字段查询内容可以使用@TableField(select = false)来忽略查询 视图字段:在实体类中创建但是在表中没有创建的字段 如果创建的表中没有该字段但仍需se 阅读全文
posted @ 2023-08-03 09:36 Zzzz/ 阅读(26) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示