解决mybatis-plus自动配置的mapper.xml与java接口映射问题

目录
  • mybatis-plus自动配置mapper.xml与java接口映射
    • 其中核心功能就是下面这个方法
  • mybatis-plus3 配置mapper和xml映射关系
    • 原因就是mapper接口与xml映射文件没有配置成功

mybatis-plus自动配置mapper.xml与java接口映射

本来没有mybatis-plus的话,这个工作是通过mybatis-spring的MapperScan来完成的。

Mybatis-plus中的自动配置类MybatisPlusAutoConfiguration.class中有一个静态内部类

MapperScannerRegistrarNotFoundConfiguration用于完成这个配置。

这个内部类导入了AutoConfiguredMapperScannerRegistrar.class配置类,其实这个配置类也是MybatisPlusAutoConfiguration的静态内部类。

其中核心功能就是下面这个方法

通过ClassPathMapperScanner 来扫描包,用于完成映射,ClassPathMapperScanner 是mybatis-spring中的配置类

ClassPathMapperScanner scanner = new ClassPathMapperScanner(registry);

如果用Mybatis-plus的自动配置,那么所有的Dao接口必须要用Mapper.class注解,因为Mybatis-plus设置的就为Mapper.class

最终会在scanner.registerFilters()这步操作中被添加到includeFilters中。

最终被扫描到的类与includeFilters匹配且不与excludeFilters匹配,最终才会筛选出保留的BeanDefinition.

mybatis-plus3 配置mapper和xml映射关系

遇见找不到方法

原因就是mapper接口与xml映射文件没有配置成功

mybatis-plus.mapper-locations=classpath:static/mybatis_mapper/*.xml

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java面向对象:API(接口)与集合(ArrayList)

    目录 API: 接口概念: API:String.StringBuilder的学习 String.StringBuffer.StringBuilder String: 注意:面试考点 StringBuffer StringBuilder  代码例子: StringBuilder 和 String 相互转化: 特殊方法拓展: ArrayList 集合概述: 总结 API: 接口概念: API(Application Programming Interface),应用程序编程接口,Java API是

  • Java Spring-IOC容器与Bean管理之基于注解的方式案例详解

    Spring-IOC容器-Bean管理-基于注解方式 什么是注解? (1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值, 属性名称=属性值-) (2)使用注解,注解作用在类上面,方法上面,属性上面 (3)使用注解目的:简化 xml 配置 Spring 针对 Bean 管理中创建对象提供注解 下面四个注解功能是一样的,都可以用来创建 bean 实例 (1)@Component (2)@Service (3)@Controller (4)@Repository 基于注解方式实现对象创建 ①

  • 基于java ssm springboot+mybatis酒庄内部管理系统设计和实现

    目录 咱们废话不多说进入主题.系统主页展示: 用户信息管理; 角色权限控制管理: 管理员查看灵活配置; 插入一小部分代码段 通知公告信息管理 总结 咱们废话不多说进入主题.系统主页展示: 用户登录后进行系统首页:主要功能模块如下.分角色管理.超级管理员拥有最高权限.可以进行菜单灵活控制. 用户信息管理; 角色权限控制管理: 管理员查看灵活配置; 插入一小部分代码段 /** * . * * * * */ package io.renren.modules.sys.controller; impor

  • Java @Async注解导致spring启动失败解决方案详解

    前言 在这篇文章里,最后总结处,我说了会讲讲循环依赖中,其中一个类添加@Async有可能会导致注入失败而抛异常的情况,今天就分析一下. 一.异常表现,抛出内容 1.1循环依赖的两个class 1.CycleService1 @Service public class CycleService1 { @Autowired private CycleService2 cycleService2; @WangAnno @Async public void doThings() { System.out

  • Java汉子转拼音案例详解

    一.引入Maven依赖 <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.0</version> </dependency> 二.代码 import com.gyyjy.portal.pojo.cms.sm.SelectTreeVO; import net.sourceforge

  • 解决mybatis-plus自动配置的mapper.xml与java接口映射问题

    目录 mybatis-plus自动配置mapper.xml与java接口映射 其中核心功能就是下面这个方法 mybatis-plus3 配置mapper和xml映射关系 原因就是mapper接口与xml映射文件没有配置成功 mybatis-plus自动配置mapper.xml与java接口映射 本来没有mybatis-plus的话,这个工作是通过mybatis-spring的MapperScan来完成的. Mybatis-plus中的自动配置类MybatisPlusAutoConfigurati

  • 通过Spring Boot整合Mybatis分析自动配置详解

    前言 SpringBoot凭借"约定大于配置"的理念,已经成为最流行的web开发框架,所以有必须对其进行深入的了解:本文通过整合Mybatis类来分析SpringBoot提供的自动配置(AutoConfigure)功能,在此之前首先看一个整合Mybatis的实例. SpringBoot整合Mybatis 提供SpringBoot整合Mybatis的实例,通过Mybatis实现简单的增删改查功能: 1.表数据 CREATE TABLE `role` ( `note` varchar(25

  • mybatis整合spring实现开启mapper.xml映射文件扫描

    目录 mybatis整合spring开启mapper.xml映射文件扫描 spring配置扫描mybatis的mapper文件注意 mybatis整合spring开启mapper.xml映射文件扫描 一般情况下,我们知道在使用mybatis的时候,必须在mybatis全局配置文件里配置映射文件. 代码如下: <mappers> <mapper resource="/resources/mybatis/sys/ParamMapper.xml"/> <mapp

  • 解决mybatis #{}无法自动添加引号的错误

    目录 mybatis #{}无法自动添加引号 解决 mybatis #{}与${} 单引号 解决办法 验证 mybatis #{}无法自动添加引号 传入string类型时,无法自动添加引号,导致SQL将值识别为列名,导致SQL失败 解决 使用map类型代替string的传值 如 Map<String, String> map = new HashMap<>(2); map.put("userName", userName); return userMapper.

  • 解决Mybatis映射文件mapper.xml中的注释问题

    目录 Mybatis映射文件mapper.xml的注释问题 报错信息 解决办法 mapper.xml文件中的注释 注释方式 ‘无效的列索引’bug和解决 小结一下 Mybatis映射文件mapper.xml的注释问题 从昨天夜晚9点到今天中午,一直被项目bug所困惑,中间这段时间一直未解决这个问题,也咨询很多群里大佬,也未能解决 有的说是我代码写的有问题,如mapper文件中没有写入参数类型parameterType,也有说是我项目结构目录构建出错,按照他们的建议进行修正,也是未尽人意,启动项目

  • 解决Mapper接口和mapper.xml的文件位置问题

    今天遇到一个问题是mybatis中接口和对应的mapper文件位置不同,而引起的操作也会不同,在网上找了好久最终找到了方法,这里就简单的解析一下: 我们知道在典型的maven工程中,目录结构有:src/main/java和src/main/resources,前者是用来存放java源代码的,后者则是存放一些资源文件,比如配置文件等. Mybatis中接口和对应的mapper文件不一定要放在同一个包下,如果放在一起的目的是为了Mybatis进行自动扫描,并且要注意此时Java接口的名称和mappe

  • 初识MyBatis及基本配置和执行

    1.MyBatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录. 2. MyBatis的主要构件及其作用 从MyBatis代码实现的角度来看,MyBatis的主要的核心部件有以下几个:

  • IDEA MyBatis Plugins自动生成实体类和mapper.xml

    前言 如何下载和使用MyBatis Generator 插件,只说代码,不讲感情.如果有问题还请多多指点. 开发环境 开发工具:IntelliJ IDEA 2018.1.1 x64 dk版本:1.8.0_171 工程构建工具:maven 版本3.2.5 数据库 mysql IDEA 下载MyBatis Generator 插件 1.首先在File--Settings--点击Plugins,搜索框中搜索mybatis,选择mybatis-plugins,点击安装(由于我的已经安装过,所以没有绿色的

  • 解决Mybatis中mapper.xml文件update,delete及insert返回值问题

    最近写了几个非常简单的接口(CRUD),在单元测试的时候却出了问题,报错如下: Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'messageListener': Unsatisfied dependency expressed through field 'reviewCheckInfoService'; nested exce

  • IDEA mybatis Mapper.xml报红的最新解决办法

    现象 在IDEA中已经配置好Database了,但是打开mybatis的Mapper.xml中的字段还是报红.如下 : 随便不影响程序运行,但是非常的不舒服.智能提示也不好用. 解决办法 File -> Settings->Lanuages & Frameworks-> SQL Dialects在Global SQL Dialect:或者Project SQL Dialect:中选择正确的数据库. 比如:我这里默认是Microsoft SQL Server,只要修改成我项目中使用

随机推荐