springboot集成mybatis,dao注入失败的问题

今天做项目遇到问题,在网上搜,竟然没有可以解决的方法,都说些无关紧要的办法,结合我自己的经验,进行简单总结

 

异常:找不到dao的bean,导致service,comtroller都创建bean失败。最直接的还是dao的bean没创建出来

Description:

Field userEntityMapper in com.xxx.xxx.service.UserService required a bean of type 'com.xxx.xxx.dao.UserEntityMapper' that could not be found.

Action:

Consider defining a bean of type 'com.xxx.xxx.dao.UserEntityMapper' in your configuration.

 

网上有好多springboot整合mybatis 的帖子,都大同小异。但是有一个细节需要注意:dao接口扫描不要放在启动类上,即不要在启动类上配置@MapperScan(BasePackages="XXX.XXX.XXX")!直接在dao接口上使用@Mapper(而不是@Repository)!按这样配置,dao层的错误,包括sql语句就可以在控制台打印出来了。

 

dao注入失败有极大可能是mapper.xml映射文件有问题

1.mapper标签的namespace不能写错,对应到dao接口

2.sql语句不能写错,如果给表中没有的字段赋值,会直接导致daobean的创建失败

3.这是一个常犯的错误,把resultMap和resultType写混了

4.dao接口其实只加一个@Mapper就行了,其他基本没问题

5.自己的代码应该在启动类同级或同级的子包下

6.如果依赖其他模块,可能需要在启动类上添加@ComponentScan

7.mybatis的依赖是springboot提供的依赖,自己单独配的可能会出问题

 

希望我的东西能帮到很多人,转载请注明出处

要在Spring Boot中集成MyBatis并进行接口查询,你需要进行以下几个步骤: 1. 首先,在Spring Boot的配置文件中配置数据库连接信息,包括数据库URL、用户名、密码和驱动类等。\[1\] 2. 创建一个启动类,使用@SpringBootApplication注解标记该类为Spring Boot的启动类。在该类的main方法中,使用SpringApplication.run方法启动应用程序,并获取MybatisUtil和SimpleExecutorExample的实例。\[2\] 3. 在pom.xml文件中添加MySQL驱动和MyBatis的起步依赖。\[3\] 4. 使用MyBatis提供的逆向工程生成实体Bean、映射文件和DAO接口。可以使用MyBatis Generator或者MyBatis Plus等工具来生成这些文件。生成后,你可以在DAO接口中定义各种查询方法。 5. 在需要进行查询的地方,通过@Autowired注解注入DAO接口的实例,然后调用相应的查询方法即可。 这样,你就可以在Spring Boot中集成MyBatis并进行接口查询了。记得在配置文件中配置好数据库连接信息,并生成相应的实体Bean、映射文件和DAO接口。 #### 引用[.reference_title] - *1* *2* [1. Springboot集成Mybatis](https://blog.csdn.net/u010502101/article/details/127656247)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [SpringBoot集成MyBatis](https://blog.csdn.net/m0_67391377/article/details/124777417)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值