解决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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
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,只要修改成我项目中使用
随机推荐
- SqlServer表死锁的解决方法分享
- Angular.js中$apply()和$digest()的深入理解
- 让Adobe Reader 7.0 8.1 记住您上次阅读的位置
- java使用任务架构执行任务调度示例
- php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
- PHP 二维数组根据某个字段排序的具体实现
- javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
- JS实现页面数据无限加载
- PowerShell函数指定返回值类型实例
- Mysql数据库表定期备份的实现详解
- javaScript实现滚动条事件详解
- 浅析JAVA中toString方法的作用
- DirectoryInfo引用一个相对目录的实例
- 数字金额大写转换器制作代码分享(人民币大写转换)
- php cookis创建实现代码
- Android编程实现图片透明的方法
- C#中Dictionary类使用实例
- 无题-QQ空间非主流大图模块
- Python实现求数列和的方法示例
- 原生JS实现ajax与ajax的跨域请求实例