MyBatis-Plus 支持动态表名,这允许我们在执行 SQL 查询时动态地替换表名。下面我将详细解释如何实现 MyBatis-Plus 动态表名加后缀的功能,并提供相应的代码示例。 1. 确定MyBatisPlus支持动态表名 MyBatis-Plus 提供了 DynamicTableNameInnerInterceptor 拦截器,该拦截器允许我们在执行 SQL 之前动态地修改表名。 2....
1.0 MyBatis-Plus之注解 @TableName 我们现在指定数据库表和mappr的关联在是在mapper接口中引入的user进行的绑定; 如果存在的实体和我们的表名不一样的话我们怎么设置呢? 今天我们来解决这个问题! 在实体类中通过@TableName设置指定的表名。这样就可以根据指定的表名去操作对应的数据库; mapper依然指定的是user; ...
1、使用mybatis-plus自身的查询构造去,只需要在全局配置中添加如下配置 mybatis-plus: mapper-locations: classpath:mappers/*Mapper.xml # mapper映射文件 global-config: db-config: table-prefix: tr_ 1. 2. 3. 4. 5. 2、自定义sql语句中添加表名前缀 在yml文件中添加如下配置 mybatis-plus: mapper-lo...
接下来就是配置动态表名了,只需要在调用的时候传入就可以 首先添加pom依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-extension</artifactId><version>3.4.3</version></dependency> 接下来新建一个配置类 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; impo...
1、使用mybatis-plus自身的查询构造去,只需要在全局配置中添加如下配置 mybatis-plus: mapper-locations: classpath:mappers/*Mapper.xml # mapper映射文件 global-config: db-config: table-prefix: tr_ 2、自定义sql语句中添加表名前缀 在yml文件中添加如下配置 ...
returntableName +"_01";//为符合条件的表名称添加后缀 }else{ returntableName;//表名原样返回 } } } 3:配置拦截器 @ConfigurationpublicclassMyBatisConfig{@BeanpublicMybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor=newMybatisPlusInterceptor(); ...
实际上Mybatis-plus官方本来就有提供对动态表名的扩展支持以及给出了具体的Sample。 具体参考官方的sample github。从github的提交历史可以追溯到最开始给出动态表名实现方案的版本是3.1.1,奈何我司所用的版本刚好卡在3.1.0,差那么一个小版本,直接拿官方的例子用是会报错的。
(1)有时我们希望存储或读取数据的时候能够根据情况、或根据传入参数来动态的选择对应的表。比如我们数据库里的用户信息表通过年份拆分(使用年份做后缀): (2)而对应的实体类是不包含年份后缀的: 1 2 3 4 5 6 7 @Data public class UserInfo { private Integer id; private String userName; private String ...