【坑】springboot多模块开发,resultType读取不到类的错误

当类和mybatis的xml放在其他module时,如你的resultType是这样写:

<select id="selectall" resultType="student">
    select id,age from student
</select>

那么会报错:

Caused by: java.lang.ClassNotFoundException: Cannot find class: student
	at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:200) ~[mybatis-3.4.6.jar:3.4.6]
	at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:89) ~[mybatis-3.4.6.jar:3.4.6]
	at org.apache.ibatis.io.Resources.classForName(Resources.java:261) ~[mybatis-3.4.6.jar:3.4.6]
	at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:116) ~[mybatis-3.4.6.jar:3.4.6]
	... 79 common frames omitted

明显写的是mybatis问题,那么就只有xml里找不到类了!!!!毕竟是这个地方用了mybatis

如果你的类是放在与xml相同的module,这样写是没问题的!!直接可以根据student这个类名找到当前module下的类。
但是你的类是不在当前module,就自然找不到。原因应该是如果不具体指明类的位置,只提供类名。xml只会在当前module下找!!

所以你要具体指明类的位置

<select id="selectall" resultType="com.hzh.entitys.entitys.student">
    select id,age from student
</select>

这样,完美解决!!!!!!!!!!!!!!!!!!!!!!!!!!!

Spring Boot是一个用于快速开发Java应用程序的框架,它提供了一种简化的方式来构建独立的、生产级别的Spring应用程序。MyBatis是一个持久层框架,它简化了数据库访问的过程。而MySQL是一种关系型数据库管理系统,被广泛用于存储和管理数据。 在Spring Boot中整合MyBatis和MySQL可以通过以下步骤完成: 1. 在Spring Boot项目的pom.xml文件中添加MyBatis和MySQL的依赖项。 ```xml <dependencies> <!-- MyBatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> <!-- MySQL --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency> </dependencies> ``` 2. 在application.properties或application.yml文件中配置MySQL数据库连接信息。 ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=username spring.datasource.password=password ``` 3. 创建一个用于操作数据库的Mapper接口,并使用@Mapper注解标记该接口。 ```java @Mapper public interface UserMapper { // 定义数据库操作方法 List<User> getAllUsers(); void insertUser(User user); void updateUser(User user); void deleteUser(int userId); } ``` 4. 创建一个用于实现Mapper接口的Mapper XML文件,并定义SQL语句。 ```xml <!-- user_mapper.xml --> <mapper namespace="com.example.mapper.UserMapper"> <select id="getAllUsers" resultType="com.example.entity.User"> SELECT * FROM user </select> <insert id="insertUser"> INSERT INTO user (name, age) VALUES (#{name}, #{age}) </insert> <update id="updateUser"> UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id} </update> <delete id="deleteUser"> DELETE FROM user WHERE id = #{id} </delete> </mapper> ``` 5. 在Spring Boot的主上使用@MapperScan注解,指定Mapper接口所在的包。 ```java @SpringBootApplication @MapperScan("com.example.mapper") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 至此,你已经成功将Spring Boot、MyBatis和MySQL整合在一起了。你可以在业务逻辑中使用自动注入的Mapper接口来操作数据库。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值