怎么将mybatis的项目改成mybatisPlus

萨瓦迪卡1个月前 (03-12)java技术135
  1. 引入MyBatis-Plus依赖‌:
    首先,您需要在项目的pom.xml(如果是Maven项目)或build.gradle(如果是Gradle项目)文件中添加MyBatis-Plus的依赖。

    对于Maven项目,可以在pom.xml中添加如下依赖:

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>最新版本号</version>
    </dependency>
  2. 对于Gradle项目,可以在build.gradle中添加如下依赖:
    implementation 'com.baomidou:mybatis-plus-boot-starter:最新版本号'
  3. 配置MyBatis-Plus‌:
    在项目的配置文件中(如application.ymlapplication.properties),您需要配置MyBatis-Plus的相关参数,如数据源、Mapper扫描路径等。

    例如,在application.yml中可以这样配置:

    mybatis-plus:
       mapper-locations: classpath:/mapper/*.xml
       type-aliases-package: com.yourpackage.domain
       global-config:
         db-config:
          id-type: auto  # 主键策略
          logic-delete-value: 1 # 逻辑已删除值(默认为 1)
          logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
       configuration:
          log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 开启SQL日志
  4. 修改Mapper接口‌:
    MyBatis-Plus提供了很多便捷的CRUD方法,因此您可以修改原有的Mapper接口,继承BaseMapper接口,这样您就可以直接使用MyBatis-Plus提供的CRUD方法了。

    例如:

    import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.example.demo.entity.User;public interface UserMapper extends BaseMapper<User> {    // 自定义的SQL语句可以写在这里}
  5. 修改Service层‌:
    由于Mapper接口已经继承了BaseMapper,因此Service层可以直接调用Mapper接口中的方法来实现CRUD操作。您可能需要修改Service层的方法,以便使用MyBatis-Plus提供的便捷方法。

  6. MyBatis-Plus 也提供了 Service 和 ServiceImpl 类,你可以继承这些类来简化你的业务逻辑。例如:

  7. @Service
    public class UserService extends ServiceImpl<UserMapper, User> {
    // 这里可以添加业务逻辑方法,如果需要的话
    }
  8. . 自动生成代码(可选)

  9. MyBatis-Plus 提供了一个代码生成器,可以自动生成实体类、Mapper 接口和 XML 文件(如果你需要的话)。你可以通过以下方式使用代码生成器:

  10. // 自动生成代码的配置类@Slf4jpublic class CodeGenerator
  11. {    public static void main(String[] args) {        // 数据源配置
  12.        GenConfig config = new GenConfig();
  13.        config.setParent("com.yourpackage"); // 设置父包名
  14.         config.setMapperName("%sMapper"); // 设置Mapper文件名 %s -> 表名转成大写首字母+小写其余
  15.        config.setXmlName("%sMapper"); // 设置XML文件名 %s -> 表名转成大写首字母+小写其余
  16.         config.setServiceName("%sService"); // 设置Service文件名 %s -> 表名转成大写首字母+小写其余
  17.           config.setServiceImplName("%sServiceImpl"); // 设置Service实现类文件名 %s -> 表名转成大写首字母+小写其余
  18.           config.setEntityName("%s"); // 设置实体类文件名 %s -> 表名转成大写首字母+小写其余
  19.         config.setAuthor("your_name"); // 设置作者名
  20.           config.setInclude(scanner("表名,多个英文逗号分割").split(",")
  21.  ); // 设置需要生成的表名,多个英文逗号分割(去掉表前缀)        config.setControllerName(null); // 设置Controller文件名(%s -> 表名转成大写首字母+小写其余)如果为空则不生成@RestController        config.setSwagger2(true); // 是否开启swagger2模式(默认关闭)        new GeneratorBuilder(config).generate(); // 执行生成代码操作    }}
  22. 测试迁移效果‌:
    完成以上步骤后,您需要运行项目并测试迁移效果。确保所有的CRUD操作都能正常执行,并且没有出现任何异常。

  23. 优化和调整‌:
    根据项目的实际情况,您可能需要对MyBatis-Plus的配置进行优化和调整,以便更好地满足项目的需求。

需要注意的是,由于MyBatis-Plus提供了很多便捷的功能和特性,因此在迁移过程中可能会遇到一些与原有MyBatis项目不兼容的地方。这时,您需要仔细阅读MyBatis-Plus的官方文档,了解相关特性和配置方法,以便更好地完成迁移工作。


本文原创,转载必追究版权。

分享给朋友:

相关文章

base64加密java算法

base64加密java算法

 一、Base64算法概述Base64算法最早应用于解决电子邮件传输的问题。它是一种基于64个字符的编码算法,根据RFC 2045的定义:“Base64内容传输编码是一种以任意8位字节序列组...

get方式调用http接口   Header赋参数值

get方式调用http接口 Header赋参数值

   /**      195.     * 发送...

freemarker 判断日期变量为空处理 及InvalidReferenceException异常处理

at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:98);InvalidR...

freeMarker Jfinal 获取session里的值

问题:freeMaker session取值的常用格式都试过 session["xxx"],session.xxx 直接xxx 都取不出来?????解决:JFinal与Struts...

js/jquery 日历控件及实例下载

js/jquery 日历控件及实例下载

实现日历控件效果:页面:<link href="${base}/resource/${profile.path}/css/lhgcalendar.css" rel="...

是谁动了我的座位

是谁动了我的座位

女孩一上火车,见自己的座位上坐着一男士。她核对自己的票,客气地说:“先生,您坐错位置了吧?” 男士拿出票嚷嚷着:“看清楚点,这是我的座,你瞎了?” 女孩仔细看了他的票,不再做声,默...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。