在使用MyBatis Generator自动创建代码时候常见的问题
在使用MyBatis Generator自动创建代码时候会遇到一些问题,亲测。
最近闲来无事自己搭在了一个SSM框架,由于是在是太懒,所以不打算自己写mybatis相关的实体类和配置文件mapper.xml(其实是自己不会),于是自己在网上找了一个例子来尝试使用MyBatis Generator自动创建代码,我参考的文章是这篇,文章很详细,基本流程下来不会出什么问题基本。
下面附上文章地址https://blog.****.net/sunny243788557/article/details/45166397。
只不过在使用的时候注意如果有并未写sql语句在下面这一块,需要将这些东西都注释掉,也就是table标签中的东西都注释掉,这里只是单纯的将表装换为实体类并未做其他的操作。
然后自动转换之后你的目录结构可能是这样的,
但是我们在测试的时候可能会出现下面的异常:
这样然后我们再进行测试,此时可能依然还是会出现问题。可能会是这样的异常:
Caused by: java.lang.IllegalArgumentException: Result Maps collection does not contain value for com.cn.hnust.dao.UserTMapper.BaseResultMap,我们会很疑惑BaseResultMap其实是有的,但是为什么还是会出现这个异常呢,其实还是mapper.xml文件位置影响的。为了解决这个问题我们可以在pom.xml文件的bulid标签下增加一些代码:
<resources> <resource> <directory>src/main/java</directory> <includes> <include>com/cn/hnust/mapping/*.xml</include> </includes> </resource> </resources>
类似这样:
然后问题就基本得到解决了。当然如果出现第一种原因的时候我们似乎可以不用修改spring-mybatis.xml文件,我们只要在pom.xml文件的build中加入上述的代码,两个问题都能得到解决了。