版本说明:pageHelper版本为1.2.3、mybatis-plus版本为3.1.0

  1. 步骤一:修改父工程ruoyi-vue的pom文件,将pagehelper版本号改为1.2.3
    在这里插入图片描述
  2. 步骤二:修改ruoyi-common工程pom文件,在pagehelper中排除mybatis和mybatis-spring jar坐标
    在这里插入图片描述
  3. 步骤三:引入mybatis-plus jar坐标
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.1.0</version>
    </dependency>
com.baomidou mybatis-plus-boot-starter 3.1.0
  1. 步骤四:修改ruoyi-admin工程中application.yml配置文件,将mybatis相关的配置注释点,添加mybatis-plus配置
mybatis-plus:
  type-aliases-package: com.ruoyi.**.domain
  mapper-locations: classpath*:mapper/**/*Mapper.xml
  config-location: classpath:mybatis/mybatis-config.xml
  1. 步骤五:将ruoyi-framework工程中的MyBatisConfig类的@Configuration注释掉或者直接删除该类
  2. 步骤六:修改ruoyi-system工程的SysNoticeMapper接口,使其继承BaseMapper
    在这里插入图片描述
  3. 步骤七:修改ruoyi-system的SysNoticeServiceImpl,使其继承ServiceImpl
    在这里插入图片描述
  4. 步骤八:在ruoyi-admin工程中编写测试类
package com.yf.cn;

import com.ruoyi.RuoYiApplication;
import com.ruoyi.system.domain.SysNotice;
import com.ruoyi.system.mapper.SysNoticeMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@SpringBootTest(classes = RuoYiApplication.class)
@RunWith(SpringJUnit4ClassRunner.class)
public class TestMp {

    @Autowired
    private SysNoticeMapper sysNoticeMapper;
    @Test
    public void testInsert(){
        SysNotice sysNotice = new SysNotice();
        sysNotice.setNoticeTitle("我是一只小毛驴");
        sysNotice.setNoticeType("1");
        sysNoticeMapper.insert(sysNotice);
    }
}

  1. 步骤九:执行testInsert方法,发现报错:Cause: java.lang.IllegalStateException: Type handler was null on parameter mapping for property ‘params’. It was either not specified and/or could not be found for the javaType (java.util.Map) : jdbcType (null) combination.
    经仔细查看发现 SysNotice 实体类集成了BaseEntity,BaseEntity中有一个 private Map<String, Object> params;属性,该属性不是数据库对应的字段,所以在在执行inser方法时应该排除该字段
    在这里插入图片描述
  2. 步骤十:重新执行insert方法,发现数据可以正常插入,至此ruoyi-vue集成mybatis-plus已经完成
Logo

快速构建 Web 应用程序

更多推荐