二十一、动态表名 1,业务场景 (1)有时我们希望存储或读取数据的时候能够根据情况、或根据传入参数来动态的选择对应的表。比如我们数据库里的用户信息表通过年份拆分(使用年份做后缀): (2)而对应的实体类是不包含年份后缀的: 2,样例代码......
六月头条:Rust 首次进入前 20 Rust 语言在诞生近10年之后,本月首次进入该榜单前 20 名。在上周新鲜出炉的 Stack Overflow 2020 开发者调查报告中,Rust 连续第五年夺下“最受欢迎的语言”宝座,此次进入 TIOBE 排行榜前 20 也毫不令人意外......
通常情况下, Intellij IDE 如果需要安装 Lombok 插件,直接在编辑器设置页面的“Plugins” -> “Marketplace”中搜索并下载安装即可。 但有时由于网络问题......
二十、多数据源 1,基本介绍 (1)dynamic-datasource-spring-boot-starter 是一个基于 springboot 的快速集成多数据源的启动器。其支持 Jdk 1.7+,SpringBoot 1.4.x 1.5.x 2.0.x。 注意:该插件可以不依赖 MyBatis-Plus,可以独立使用......
十九、使用乐观锁进行数据更新 1,基本介绍 (1)乐观锁的应用场景是当要更新一条记录的时候,希望这条记录没有被别人更新。 注意: 目前乐观锁仅支持 updateById(id) 与 update(entity, wrapper) 方法 在 update(entity, wrapper) 方法下,wrapper 不能复用......
P6Spy 是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。 通过 P6Spy 我们可以对 SQL 语句进行拦截,相当于一个 SQL 语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。 注意:该插件有性能损耗,建议平时开发测试时使用......
当我们执行插入或者更新操作时,如果没有设置值的属性,那么在数据表中要么是 null,要么保留原来的值。而使用公共字段自动填充功能,可以让我们在没有赋值时也能自动设置指定的值。 十七、字段数据自动填充 1,准备工作 (1)假设我们有如下一张用户信息表......
十六、字段类型处理器(TypeHandler) 1,准备工作 (1)MyBatis 中的 TypeHandler 类型处理器用于 JavaType 与 JdbcType 之间的转换,假设我们用户表中有一个联系方式字段,类型为字符串: (2)而对应的实体类代码如下,可以看到实体类中 contact 属性类型为 Map......
@Getter public enum GenderEnum{ MALE(1, "男"), FEMALE(2, "女"); @EnumValue private final int code; private final String descp; GenderEnum(final int code, final String descp) { this.code = code; this.descp = descp; } }
十四、逻辑删除 1,什么是逻辑删除? 逻辑删除并不会真正的从数据库中将数据删除掉,而是将当前被删除的这条数据中的一个逻辑删除字段置为删除状态。比如该数据有一个字段 deleted_flag,当其值为 0 表示未删除,值为 1 表示删除。那么逻辑删除就是将 0 变成 1......