扫码阅读
手机扫码阅读

SpringBoot-7-MyBatis-Plus进阶篇:自定义扩展插件实战

101 2024-07-17

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:SpringBoot-7-MyBatis-Plus进阶篇:自定义扩展插件实战
文章来源:
springboot葵花宝典
扫码关注公众号

一、DQL时出现的问题和一些解决方式

1. 字段映射与表名映射

表字段与实体类属性不同步时,可使用注解@TableField的value属性设置属性与字段关系,或者查询时使用别名。若添加了数据库中未定义的属性,则可设置@TableField的exist属性为false。对于不参与查询的字段,可使用@TableField的select属性。表名不同步时,可以使用@TableName注解或者在yml配置文件中设置忽略表名前缀。

二、Mybatis-Plus扩展

1. id生成策略控制(Insert)

Mybatis-Plus支持多种主键生成策略,如自增、特殊规则、关联信息等。@Id注解用于指定主键生成策略,甚至可以全局配置id生成策略。

2. 多记录操作(批量Delete/Select)

Mybatis-Plus支持批量操作,如批量删除和查询。

3. 逻辑删除(Delete/Update)

逻辑删除通过在数据库表添加状态字段,并在实体类中使用@TableLogic注解进行配置实现。逻辑删除本质是修改操作,查询时会自动包含逻辑删除字段。

4. 乐观锁(Update)

乐观锁通过添加版本控制字段version实现,并需要配置乐观锁拦截器。乐观锁适用于读多写少的场景,可以提高程序吞吐量。

五、Mybatis-Plus的Service封装

Mybatis-Plus封装了Service层,提供IService接口和ServiceImpl实现类,简化了业务层开发。

六、快速开发-代码生成器

通过导入依赖和使用FastAutoGenerator类,可以快速生成代码。生成器支持全局配置、包配置、策略配置,并可以选择不同的模板引擎,如Freemarker。

想要了解更多内容?

查看原文:SpringBoot-7-MyBatis-Plus进阶篇:自定义扩展插件实战
文章来源:
springboot葵花宝典
扫码关注公众号