在学习mybatis的延迟加载这部分的内容的时候,配置好测试时,报如下错误:
org.apache.ibatis.exceptions.PersistenceException:
Error building SqlSession.
The error may exist in SQL Mapper Configuration
Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration.
Cause: org.apache.ibatis.builder.BuilderException: The setting LazyLoadingEnabled is not known. Make sure you spelled it correctly (case sensitive).
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:82)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:66)
at com.crj.mybatis.mapper.OrdersMapperCustomTest.setUp(OrdersMapperCustomTest.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod
1.runReflectiveCall(FrameworkMethod.java:44)atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)atorg.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)atorg.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:48)atorg.junit.runners.ParentRunner
3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner
1.schedule(ParentRunner.java:60)atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)atorg.junit.runners.ParentRunner.access
000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: The setting LazyLoadingEnabled is not known. Make sure you spelled it correctly (case sensitive).
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:109)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:92)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:80)
… 25 more
Caused by: org.apache.ibatis.builder.BuilderException: The setting LazyLoadingEnabled is not known. Make sure you spelled it correctly (case sensitive).
at org.apache.ibatis.builder.xml.XMLConfigBuilder.settingsElement(XMLConfigBuilder.java:196)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:103)
… 27 more
解决办法:
其实同一个异常出现的原因有多个,我百度了一下,看到这篇文章,讲的是因为没有配置好别名,或者没加namespace
http://blog.csdn.net/jyxmust/article/details/55096762
而我检查一下自己并没有那个的错误,再仔细看看,发现
Cause: org.apache.ibatis.builder.BuilderException: The setting LazyLoadingEnabled is not known. Make sure you spelled it correctly (case sensitive).
说明我LazyLoadingEnabled写错了,可是看对应视频里没错啊,
没办法找了视频里的源码黏贴进去,没错!
后来发现,坑爹的,
LazyLoadingEnabled首字母是小写!!!
以后还是要小心点,代码太险恶了!
结束和声明
以上纯属个人观点和体会
希望这篇文章能对你有所帮助!
欢迎大家来一起讨论分享干货,或者批评指正!
更加热切盼望各路大神前辈给些指导和建议!
以后会不定期更新心得和总结,包括学习过程中各种异常和解决办法等等。再见!
转载请注明出处!或者联系我!(chenruijia_java@163.com)
本文记录了一次在MyBatis中配置懒加载时遇到的异常:由于LazyLoadingEnabled属性拼写错误导致的问题及解决过程。
1万+

被折叠的 条评论
为什么被折叠?



