Loading

Mybatis Plus自定义 SQL 无法执行

问题描述:指在 XML 中里面自定义 SQL,却无法调用。本功能同 MyBatis 一样需要配置 XML 扫描路径:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cn.lzscxb.mapper.EmployeeMapper.getByUsername
	at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235) ~[mybatis-3.5.9.jar:3.5.9]
	at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.<init>(MybatisMapperMethod.java:50) ~[mybatis-plus-core-3.5.1.jar:3.5.1]
	at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.lambda$cachedInvoker$0(MybatisMapperProxy.java:111) ~[mybatis-plus-core-3.5.1.jar:3.5.1]
	at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705) ~[na:na]
	at com.baomidou.mybatisplus.core.toolkit.CollectionUtils.computeIfAbsent(CollectionUtils.java:115) ~[mybatis-plus-core-3.5.1.jar:3.5.1]
	at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.cachedInvoker(MybatisMapperProxy.java:98) ~[mybatis-plus-core-3.5.1.jar:3.5.1]

mybatis-plus:
  mapper-locations: classpath*:/cn/lzscxb/**/xml/*Mapper.x1ml
  • 对于IDEA系列编辑器,XML 文件是不能放在 java 文件夹中的,IDEA 默认不会编译源码文件夹中的 XML 文件,可以参照以下方式解决:

    方式一:将配置文件放在 resource 文件夹中

    方式二:对于 Maven 项目,可指定 POM 文件的 resource

    <resources>
    	<resource>
    		<directory>src/main/java</directory>
        	<includes>
            	<include>**/*.xml</include>
        	</includes>
        </resource>
    </resources>
    

    提示:注意!Maven 多模块项目的扫描路径需以 classpath*: 开头 (即加载多个 jar 包下的 XML 文件)

posted @ 2022-06-09 17:55  白日醒梦  阅读(364)  评论(0编辑  收藏  举报