发表于: 2018-03-13 19:25:12
1 449
今天 完成得事:
mybatis连接数据库插入数据
明天完成的事:
学习Spring,配置Spring和Junit
遇到得问题:
用maven导入得包,在build得过程出现非常多问题
1.mybatis-config.xml找不到
2.配置打错单词,driver打错成diriver,找了很久。
3. Invalid bound statement (not found)
我查了好久得配置,确定没错,但是还是build出错,百度得到解决办法,在下面贴一下
- mapper.xml的namespace要写所映射接口的全称类名。
- mapper.xml中的每个statement的id要和接口方法的方法名相同
- mapper.xml中定义的每个sql的parameterType要和接口方法的形参类型相同
- mapper.xml中定义的每个sql的resultType要和接口方法的返回值的类型相同
- mapper.xml要和对应的mapper接口在同一个包下
- mapper.xml的命名规范遵守: 接口名+Mapper.xml
如果以上检查完毕,项目都遵守了上述的规范,而且你的项目是Maven项目。但是运行程序还是会出现Mybatis invalid bound statement(not found)的问题,这个时候就需要修改pom.xml文件了。在pom.xml中添加如下的代码:
将以上代码添加到pom.xml中,运行项目,问题解决。
原因是:maven默认会把src/main/resources下的所有配置文件以及src/main/java下的所有java文件打包或发布到target\classes下面,但是现实我们可能会在src/main/java下面也放置一些配置文件如hibernate配置文件或mybatis mapper配置文件等,如果不做一些额外配置,那我们打包后的项目可能找不到这些必须的资源文件。
下图是没配置得
有配置得
maven是运行target编译后的类文件,很明显看到,我辛辛苦苦配置得mapper.xml没有在指定目录,所以报错。
为什么我用maven配置,maven真得是个好东西!坚持下来我相信有好处
评论