当前位置: 首页 > news >正文

建网站行业朗朗上口的公司名称

建网站行业,朗朗上口的公司名称,apache 网站建设,帮客户做网站挣钱吗将 MyBatis 升级为 MyBatis-Plus(简称 MP)是一个平滑过渡的过程,因为 MP 是 MyBatis 的增强工具(而非替代),但仍有一些关键注意事项需要关注,以确保升级后功能兼容且能充分利用 MP 的特性&#…

将 MyBatis 升级为 MyBatis-Plus(简称 MP)是一个平滑过渡的过程,因为 MP 是 MyBatis 的增强工具(而非替代),但仍有一些关键注意事项需要关注,以确保升级后功能兼容且能充分利用 MP 的特性:

1. 依赖管理与版本兼容

  • 替换依赖:移除原 MyBatis 的依赖(如mybatismybatis-spring),引入 MyBatis-Plus 的核心依赖(mybatis-plus-boot-starter 或 mybatis-plus)。
    示例(Maven):
    <!-- 移除旧依赖 -->
    <dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId>
    </dependency><!-- 引入MP依赖 -->
    <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version> <!-- 选择稳定版本,需与Spring Boot版本兼容 -->
    </dependency>
    
  • 版本兼容:确保 MP 版本与 Spring Boot、数据库驱动(如 MySQL Connector)兼容(参考 MP 官方文档的版本适配表)。

2. 核心配置调整

  • SqlSessionFactory 配置
    原 MyBatis 的SqlSessionFactory需替换为 MP 的MybatisSqlSessionFactoryBean(自动集成 MyBatis 的功能,同时添加 MP 增强)。
    若使用 Spring Boot,默认自动配置可无需手动修改;若手动配置,需调整:
    // 旧配置(MyBatis)
    // SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();// 新配置(MP)
    MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
    
  • 全局配置:MP 支持全局配置(如主键策略、驼峰命名映射等),可通过MybatisConfiguration或配置文件(application.yml)设置,替代原 MyBatis 的mybatis-config.xml部分配置。
    示例(YAML):
    mybatis-plus:configuration:map-underscore-to-camel-case: true # 驼峰命名映射(默认开启)global-config:db-config:id-type: AUTO # 全局主键策略(需与数据库主键生成策略匹配)
    

3. Mapper 接口与 XML 适配

  • 继承 BaseMapper:MP 的BaseMapper<T>提供了 CRUD 通用方法(如selectByIdinsert),原有 Mapper 接口可继承它以减少重复代码:

    // 旧:自定义CRUD方法
    public interface UserMapper {User selectById(Long id);int insert(User user);
    }// 新:继承BaseMapper,直接使用通用方法(可保留自定义方法)
    public interface UserMapper extends BaseMapper<User> {// 保留原自定义方法(如复杂查询)List<User> selectByAge(int age);
    }
    

    注意:若原有方法名与BaseMapper冲突(如selectById),需确保逻辑一致,或重命名自定义方法。

  • XML 映射文件
    原有 XML 文件可直接复用,但需注意:

    • 避免与BaseMapper的通用方法重复(如无需再写selectById的 XML 实现);
    • MP 的条件构造器(QueryWrapper)可替代部分动态 SQL,减少 XML 复杂度。

4. 实体类注解适配

MP 通过注解实现实体与数据库表的映射,需在原有实体类上添加必要注解:

  • @TableName("t_user"):指定数据库表名(若类名与表名不一致);
  • @TableId(type = IdType.AUTO):指定主键字段及生成策略(需与全局配置或数据库策略匹配);
  • @TableField("user_name"):指定字段名(若属性名与字段名不一致,或排除非表字段@TableField(exist = false))。

示例:

@TableName("t_user") // 表名
public class User {@TableId(type = IdType.AUTO) // 主键自增private Long id;@TableField("user_name") // 字段名映射private String userName;@TableField(exist = false) // 非表字段private String tempData;
}

5. 插件与扩展功能适配

  • 分页插件:MP 自带分页插件(MybatisPlusInterceptor),替代原 MyBatis 的 PageHelper 等插件,需单独配置:

    java

    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 分页插件return interceptor;
    }
    
  • 其他插件:如乐观锁插件(OptimisticLockerInnerInterceptor)、防 SQL 注入插件等,需根据业务需求配置,注意与原有插件的兼容性。

6. 代码生成器与逆向工程

若使用逆向工程生成代码,建议替换为 MP 的AutoGenerator,可一键生成实体、Mapper、Service 等代码,并自动添加 MP 注解和继承关系,减少手动适配成本。

7. 兼容性与测试

  • 自定义 SQL 检查:原有自定义 SQL(尤其是动态 SQL)需测试是否与 MP 兼容,避免因 MP 的 SQL 解析逻辑导致异常。
  • 事务与缓存:MP 完全兼容 MyBatis 的事务管理和缓存机制(一级缓存、二级缓存),但需确认缓存配置是否生效。
  • 批量操作:MP 提供IService接口的批量方法(如saveBatch),性能优于循环单条操作,可逐步替换原有批量逻辑。

8. 避免过度依赖 MP 特性

MP 的增强功能(如条件构造器、通用 CRUD)可提高开发效率,但复杂业务逻辑仍建议使用自定义 SQL,避免因过度依赖框架导致 SQL 可读性下降。

总结

升级的核心是 **“增强而非重构”**:通过替换依赖、调整配置、适配注解,保留原有业务逻辑的同时,逐步引入 MP 的通用功能和插件。关键是确保版本兼容、测试覆盖,并根据团队情况逐步迁移,充分利用 MP 简化开发的优势。

http://www.dtcms.com/a/489562.html

相关文章:

  • 在网上做网站中国新闻社是什么单位
  • 健身网站开发方式贵州 做企业网站的流程
  • 官网站内推广内容如何查询国外公司的注册信息
  • 建设网站网站建站廊坊百度推广排名优化
  • 销售网站建设工资多少紧急通知页面升级
  • 阿里巴巴建网站创新的宁波网站建设
  • 苏州网站开发公司招聘网站开发的条件
  • 如何制作一个网站如何做好品牌宣传
  • 建设网站青岛哪些网站论坛做推广好
  • 平面设计素材网站推荐词典网站模板
  • dnf做代练哪个网站好点关于做摄影的网站
  • 宝应做网站企业管理模块
  • 接入商网站备案营销客户管理系统
  • 功能性的网站归档系统唐山建设厅官方网站
  • 网站开发简历项目经验那个视频网站最好最全网址
  • 阜阳网站建设fywzjs室内设计师找图片的网站
  • 公司该建哪种网站哈尔滨网页制作费用
  • 网站建设衤首选金手指10赣州工作室
  • 商务网站建设用的是什么软件怎么吧自己电脑做网站
  • 正规的丹阳网站建设网站集约化建设难点
  • 怎样制作网站后台网站注销主体
  • 17网站一起做网店新塘洛阳建设局网站
  • wordpress评论采集插件怀化网站优化加徽信xiala5效果好
  • 常用的广州网站建设电子商务网站建设与管理的实验报告
  • 三亚做民宿的都用什么网站有什么网站可以做婚庆视频
  • 国内界面优秀的网站wordpress能用代码吗
  • 网站推广的策略网站意识形态建设
  • 免费试用网站 源码做网站网页多少钱
  • 山东网站备案拍照海口网站关键词优化
  • 深圳网站设计互联网品牌php做网站的重点