记一下Spring整合MyBatis踩的坑

1.applicationComtext.xml配置

2.pom.xml配置


junit
junit
4.13
test


org.springframework
spring-context
5.2.4.RELEASE



org.mybatis
mybatis
3.5.4



log4j
log4j
1.2.17



org.slf4j
slf4j-api
2.0.0-alpha1


org.slf4j
slf4j-log4j12
2.0.0-alpha1



aopalliance
aopalliance
1.0




org.mybatis
mybatis-spring
2.0.4



mysql
mysql-connector-java
5.1.32



com.mchange
c3p0
0.9.5.5



org.springframework
spring-tx
5.1.9.RELEASE



org.springframework
spring-jdbc
5.1.9.RELEASE


org.springframework
spring-test
5.2.4.RELEASE


 把dao下的映射文件也让maven识别并且编译

SpringIntegrateMyBatis




src/main/java

**/*.xml



src/main/resources


3.第一坑

如图红字,如果两边都指定了,会报如下的错误
Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.zero.mapper.BooksMapper.BaseResultMap
解决方法,只选择一处指定映射文件所在位置即可

4.第二坑

 好不容易把上面的问题解决了,结果连接数据库的时候你告诉我连不上?
Access denied for user 'admin'@'localhost' (using password: YES)
出现原因,在属性文件中尽量不要使用username,因为系统中也有个username属性,在取值的时候,直接取成系统的username了
emsp;解决方案,不要将属性文件的用户名设置成username就好

5.第三坑

 本来是测试MyBatis缓存的,结果每次配置完,测试就报如下错误
org.apache.ibatis.cache.CacheException: Error serializing object. Cause: java.io.NotSerializableException:
 错误原因,对应的pojo类没有实现序列化接口,而二级缓存技术是需要使用序列化技术的,所以对应的类实现序列化接口即可

如果同时在mybatis配置文件中和spring配置文件中指定了

posted @ 2020-05-30 01:01  人的梦想是不会结束的  阅读(88)  评论(0)    收藏  举报