MyBatis框架篇

一. mybatis为啥定义接口就可以直接使用?

MyBatis使用JDK动态代理,在运行时为Mapper接口生成实现类。

二. mybatis通过resultMap来保证数据的一致性。mybatis-plus如何进行保证?

  1. 驼峰映射(默认开启)

mybatis-plus:

configuration:

map-underscore-to-camel-case: true

DB:create_time

Java:createTime

  1. 实体注解显式声明(强一致)

注解 作用

@TableName 表名

@TableId 主键

@TableField 字段映射

@TableLogic 逻辑删除

@Version 乐观锁

@EnumValue 枚举映射

  1. 类型处理器(TypeHandler)

和 MyBatis 一样:

@TableField(typeHandler = JacksonTypeHandler.class)

private Map<String, Object> writeFormData;

👉 保证:

JSON ↔ Map

Enum ↔ int / String

LocalDateTime ↔ datetime

  1. MetaObjectHandler(填充一致性)

@TableField(fill = FieldFill.INSERT)

private LocalDateTime createTime;

👉 插入 / 更新:

字段不丢

逻辑一致

相关推荐
J2虾虾1 分钟前
Springboot项目中循环依赖的问题
java·开发语言
wjs20242 分钟前
C 数组:深度解析与应用场景
开发语言
weixin_704266053 分钟前
事务管理全解析:从ACID到Spring实现
java·数据库·spring
lxh01133 分钟前
记忆函数题解
开发语言·javascript·ecmascript
Barkamin7 分钟前
冒泡排序的简单实现
java·算法·排序算法
熙胤16 分钟前
springboot与springcloud对应版本
java·spring boot·spring cloud
J2虾虾20 分钟前
SpringBoot 中给 @Autowired 搭配 @Lazy
java·spring boot·后端
皙然29 分钟前
深入理解 Java HashSet
java·开发语言
Ralph_Y29 分钟前
C++:static
开发语言·c++
摇滚侠1 小时前
Java 项目教程《黑马商城-ElasticSearch 篇》,分布式架构项目,从开发到部署
java·分布式·elasticsearch