
使用idea 整合 spring+mybatis 的 java 配置 以及遇到的坑
数据配置类的正确配置
发布日期:2021-05-14 10:39:01
浏览次数:16
分类:精选文章
本文共 1587 字,大约阅读时间需要 5 分钟。
在配置Spring+MyBatis的Java项目时,常常会遇到一些设置问题。下面详细记录了与我在项目过程中遇到的问题及解决方案,希望能对你有所帮助。
在数据配置的Java类中,需要完成以下几项工作:
- 在类上添加相关注解:
@Configuration@PropertySource("classpath:jdbc.properties")@MapperScan(basePackages = "Activiti.mapper")public class DataConfig { //...
- 在类内部定义SqlSessionFactoryBean,并正确设置数据源、映射文件位置及别名:
@Beanpublic SqlSessionFactoryBean sqlSessionFactoryBean() throws IOException { ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); SqlSessionFactoryBean factory = new SqlSessionFactoryBean(); factory.setDataSource(dataSource()); factory.setMapperLocations(resolver.getResources("classpath:/mapper/*/*.xml")); factory.setTypeAliasesPackage("powerx.io.model"); return factory;}//...
注意事项:1. 其中@MapperScan注解的`basePackages="Activiti.mapper"`中的`Activiti`应替换成你的实际包名,确保端口的UserMapper.java、HomeMapper.java等类位于该路径下。2. 映射文件路径`classpath:/mapper/*/*.xml`必须指向你项目中存放Mapper XML文件的位置。如果XML文件与Java文件放在一起,IDEA通常不会将这些文件自动编译,导致读取不到问题,需确保文件路径正确。2. **Service层注入Mapper的问题**在Service层注入Mapper时,可能遇到以下错误:```javaNo qualifying bean found for @Autowired 'mapperUser'
解决这个问题需要执行以下操作:
-
安装MyBatis插件 打开IDEA,进入
File -> Settings -> Plugins
,搜索并安装MyBatis Plugin
。这是解决此类问题的基础,确保插件正常运行。 -
修改注入方式 将
@Autowired
注解替换为@Resource
:@Resourceprivate UserMapper mapperUser;
以上两步即可解决注入问题,之后编码操作正常可用。
- 常见问题总结
-
配置文件路径:确保DBC数据源、Mapper文件及相关配置文件路径正确无误。
-
插件依赖:安装MyBatis插件需要 GRALEGOOL plutin 常规步骤,那些不耐心安装插件但直接运行“DataBase Browser”的行为可能导致很多问题。
-
编码规范:遵循MyBatis的编码规范,避免使用混乱的命名,确保所有配置和属性名的唯一性。
在实际使用过程中,还需注意以下几点:
通过以上步骤,大多数配置问题均可顺利解决,开发过程中遇到类似问题,可重新检查以上各项,尤其是看注解是否应用正确,无论是哪种框架,代码注解都是关键所在。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年05月04日 10时37分41秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
pwn题shellcode收集
2019-03-12
使用docker搭建nfs实现容器间共享文件 nfs server nfs client
2019-03-12
CURL 发送请求详解
2019-03-12
python中的序列化
2019-03-12
django中使用celery执行异步任务实现
2019-03-12
区块链初步了解
2019-03-12
centos7安装telnet服务
2019-03-12
centos7 安装 mongodb3.6.3
2019-03-12
LIVE 预告 | 牛津胡庆拥:学习理解大规模点云
2019-03-12
java有道翻译
2019-03-12
lora技术在无线抄表行业应用
2019-03-12
leetcode——区域和检索
2019-03-12
msfvenom的使用&免杀&外网渗透
2019-03-12
HTTP/2 协议详解
2019-03-12
grafana改用https登录
2019-03-12
使用jenkins进行项目的自动构建部署
2019-03-12
使用MySQLTuner-perl对MySQL进行优化
2019-03-12
2018年3月最新的Ubuntu 16.04.4漏洞提权代码
2019-03-12
异或交换两个数的值
2019-03-12
使用python绘出常见函数
2019-03-12