mybatisplus
LC超人在良家
记录一下平时的工作
展开
-
mbatisplus的小结
总结条件构造器AbstractWrapper中提供了多个方法用于构造SQL语句中的WHERE条件,而其子类QueryWrapper额外提供了select方法,可以只选取特定的列,子类UpdateWrapper额外提供了set方法,用于设置SQL中的SET语句。除了普通的Wrapper,还有基于lambda表达式的Wrapper,如LambdaQueryWrapper,LambdaUpdateWrapper,它们在构造WHERE条件时,直接以方法引用来指定WHERE条件中的列,比普通Wrapper通过字原创 2022-02-15 15:59:33 · 132 阅读 · 0 评论 -
mybatisplus-动态表名SQL解析器(分库分表查询)
当数据量特别大的时候,我们通常会采用分库分表。这时,可能就会有多张表,其表结构相同,但表名不同。例如order_1,order_2,order_3,查询时,我们可能需要动态设置要查的表名。mp提供了动态表名SQL解析器,示例如下:先在mysql中拷贝一下user2表配置动态表名拦截器package com.example.mp.config; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;原创 2022-02-15 15:58:48 · 2226 阅读 · 0 评论 -
mybatisplus-多租户SQL解析器
多租户的概念:多个用户共用一套系统,但他们的数据有需要相对的独立,保持一定的隔离性。多租户的数据隔离一般有如下的方式:不同租户使用不同的数据库服务器优点是:不同租户有不同的独立数据库,有助于扩展,以及对不同租户提供更好的个性化,出现故障时恢复数据较为简单。缺点是:增加了数据库数量,购置成本,维护成本更高不同租户使用相同的数据库服务器,但使用不同的数据库(不同的schema)优点是购置和维护成本低了一些,缺点是数据恢复较为困难,因为不同租户的数据都放在了一起不同租户使用相同的数据库服务器,使用相原创 2022-02-15 15:56:06 · 1245 阅读 · 0 评论 -
mybatisplus-性能分析插件
该插件会输出SQL语句的执行时间,以便做SQL语句的性能分析和调优。注:3.2.0版本之后,mp自带的性能分析插件被官方移除了,而推荐食用第三方性能分析插件1.引入maven依赖<dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>3.9.1</version> </depend原创 2022-02-15 15:49:58 · 859 阅读 · 0 评论 -
mybatisplus-会有“时间”,“操作人” 等字段的 自动填充
表中常常会有“新增时间”,“修改时间”,“操作人” 等字段。比较原始的方式,是每次插入或更新时,手动进行设置。mp可以通过配置,对某些字段进行自动填充,食用示例如下:1.在实体类中的某些字段上,通过@TableField设置自动填充public class User2 { private Long id; private String name; private Integer age; private String email; privat原创 2022-02-15 15:31:16 · 864 阅读 · 0 评论 -
mybatisplus的逻辑删除
mp提供的逻辑删除实现起来非常简单只需要在application.yml中进行逻辑删除的相关配置即可mybatis-plus: global-config: db-config: logic-delete-field: deleted # 全局逻辑删除的实体字段名 logic-delete-value: 1 # 逻辑已删除值(默认为1) logic-not-delete-value: 0 # 逻辑未删除值(默认为0) #原创 2022-02-15 15:12:54 · 8129 阅读 · 1 评论 -
MyBatisPlus的分页方法
分页IPage<Complaint> page = new Page<>(); page.setCurrent(Long.valueOf(pageNo)); page.setSize(Long.valueOf(pageSize)); if (StringUtils.isBlank(word)) { page = complaintMapper.selectPage(page, null); }原创 2022-01-26 11:50:14 · 557 阅读 · 0 评论 -
mybatisplus-表的字段使用xxid和xxId的区别
xxid使用mybatisplus的方法是,插入的是xxid字段xxId使用mybatisplus的方法是,插入的是xx_id字段总结:使用xxId的话那可能就需要在实体类上使用注解让字段名和属性名匹配上使用xxid,这不需要,直接就匹配上了。...原创 2022-01-25 10:36:09 · 667 阅读 · 0 评论 -
mybatisplus-插入一条数据,如何获得插入后的主键id
if (!EmptyChecker.isEmpty(remarkContent)) { Remark remark = new Remark().setContent(remarkContent).setCreatetime(LocalDateTime.now()); int insert = remarkMapper.insert(remark); long remarkId = remark.getId(); // 获得插入后的主键原创 2022-01-25 10:33:18 · 1103 阅读 · 0 评论 -
mybatisplus中如果实体类里面的字段在表中是不存在的,使用 @TableField(exist = false)
package com.zykj.zf_kaopuren.pojo;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import c原创 2022-01-25 10:27:41 · 2513 阅读 · 0 评论 -
MyBatisPlus的快速入门
简介是什么? MyBatis 本来就是简化 JDBC 操作的!官网:https://mp.baomidou.com/ MyBatis Plus,简化 MyBatis !特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作, BaseMapper强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分CRUD 操作,更有强大的条件构造器,满足各类使用需求, 以原创 2021-12-29 09:09:07 · 453 阅读 · 0 评论 -
springboot-mybatisplus-代码生成器
1.引入依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--mysql驱动--> <dependency>原创 2021-11-30 13:49:27 · 600 阅读 · 0 评论