一、mybatis-plus官网: MyBatis-Plus
二、应用层面:mapper、entitty
三、配置:
1、引入依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
2、启动类配置mapper扫描路径:@MapperScan("mapper所在包")
3、编写 Mapper 包下的DepositoryContentControlMapper接口
4、此时不编写xml即可直接通过DepositoryContentControlMapper就可以调用其crud方法
5、如果需要对表进行crud操作,可通过entity继承model,再创建对象调用其crud方法
四、具体实践(基于版本3.5.1):
(一)集成crud
1、mapper:
利用xml调用其crud方法
2、entity:
利用entity调用其crud方法
(二)、字段序列化和反序列化
1、利用@TableField实现JSON对象序列化
在Entity自定义单个类的字段上加上@TableField(jdbcType = JdbcType.VARCHAR, typeHandler = FastjsonTypeHandler.class);
注意:如果属性为list则需要自定义typeHandler,mp没有提供
2、利用xml的typeHandler实现JSON反序列化
在xml中的列加上typeHandler指定路径com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
注意:如果属性为list则需要自定义typeHandler,mp没有提供
(三)、枚举
1、指定前后端枚举交互指定属性
通过@EnumValue指定字段,如加在code上则前端是以code而非枚举名,
通过@JsonValue重写toString方法后端和前端交互
2、增加枚举状态自定义显示
五、补充说明:
如果是纯粹mybatis,需要配置数据库和实体枚举字段映射,只需要在mybatis-config中的
<configuration>标签中配置<typeHandlers>,其中放置示例如下即可