spring boot 匹配不到mybatis的xml文件?

springboot中集成mybatis就不说了,挺简单的。

关键是集成后对于mapper.java文件和xml文件的相关配置

1.告诉项目mapper文件的路径:
在这里插入图片描述
如果mapper.java文件在启动类的子包或同级目录中就不用写@MapperScan注解了(我是习惯性的添加上的,强迫症)
2.告诉项目xml文件的路径:
在application.properties中配置
在这里插入图片描述

一般到这里就可以了,但是有些人启动项目调用接口会突然发现报错(mybatis绑定异常:找不到statement)
在这里插入图片描述
对于这种情况有两种解决方案,亲测可用:
1.将xml文件移动到resources文件夹(太lower)
2.在pom.xml文件中加入如下配置:

	<build>
		<resources>
            <resource>
                <directory>${basedir}/src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
     </build>

解析:之所以找不到statement,是因为springboot为对xml文件未进行编译;为什么不编译?因为idea默认是不会加载src/main/java中的资源文件的。希望对各位有所帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 中使用 MyBatis,可以通过两种方式:注解方式和 XML 配置方式。本文将介绍如何使用 XML 配置方式整合 MyBatis。 1. 引入依赖 在 pom.xml 文件中添加 MyBatis 和 MySQL 驱动的依赖: ``` <dependencies> <!-- MyBatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> <!-- MySQL 驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency> </dependencies> ``` 2. 配置数据源 在 application.properties 文件中配置数据源信息: ``` spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_demo?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 3. 配置 MyBatis 在 resources 目录下创建 mybatis 目录,并在该目录下创建 mybatis-config.xml 和 mapper 目录。 mybatis-config.xml 文件内容如下: ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > <configuration> <typeAliases> <typeAlias type="com.example.demo.entity.User" alias="User" /> </typeAliases> <mappers> <mapper resource="mapper/UserMapper.xml" /> </mappers> </configuration> ``` mapper/UserMapper.xml 文件内容如下: ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.example.demo.mapper.UserMapper"> <select id="getUserById" parameterType="int" resultType="User"> select * from user where id = #{id} </select> </mapper> ``` 4. 编写实体类和 Mapper 接口 在 com.example.demo.entity 包下创建 User 实体类: ``` public class User { private Integer id; private String name; private Integer age; // getter、setter 略 } ``` 在 com.example.demo.mapper 包下创建 UserMapper 接口: ``` public interface UserMapper { User getUserById(int id); } ``` 5. 编写 Service 层 在 com.example.demo.service 包下创建 UserService 接口和 UserServiceImpl 实现类: UserService.java: ``` public interface UserService { User getUserById(int id); } ``` UserServiceImpl.java: ``` @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User getUserById(int id) { return userMapper.getUserById(id); } } ``` 6. 编写 Controller 层 在 com.example.demo.controller 包下创建 UserController 类: ``` @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @GetMapping("/{id}") public User getUserById(@PathVariable int id) { return userService.getUserById(id); } } ``` 7. 运行测试 启动应用后,访问 http://localhost:8080/user/1 可以看到返回的 JSON 数据: ``` { "id": 1, "name": "张三", "age": 20 } ``` 至此,我们就完成了 Spring Boot 集成 MyBatisXML 配置方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值