最近想自己搭建一个项目,运用springboot+mybitis这一套来搭建,想到用mybitis Generator这个插件来自动生成所有表的信息(Entity mapper xml)等文件。就就遇到一个问题,总是将这个连接的所有表的信息(包含其他库的表)全部给生成出来了----这明显不是我所想要的哇。我只想要我自己这个数据库的表的信息,其它的全部多余啊。就一直去查,主要是这个问题都不好找,也不好描述。看了官方文档,由于本***英语水平有限,看官方文档确实难受,然后最后找出原因了。
居然是mysql驱动版本太高了。
突然就有种日了。。。的感觉
解决办法:在generatorConfig.xml这个配置文件钟添加 <property name="nullCatalogMeansCurrent" value="true" />
<!--这里填写自己的数据库链接--> <jdbcConnection driverClass="${spring.datasource.driverClassName}" connectionURL="${spring.datasource.url}" userId="${spring.datasource.username}" password="${spring.datasource.password}"> <!--解决连接到别的数据库表问题--> <property name="nullCatalogMeansCurrent" value="true" /> </jdbcConnection>
这样添加然后 一运行,卧槽 奇迹般的对了。
配置文件全部
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <plugin type="tk.mybatis.mapper.generator.MapperPlugin"> <!--这里修改成统一的Mapper父接口--> <property name="mappers" value="com.zhange.blog.dao.IMapperDao"/> </plugin> <!--这里填写自己的数据库链接--> <jdbcConnection driverClass="${spring.datasource.driverClassName}" connectionURL="${spring.datasource.url}" userId="${spring.datasource.username}" password="${spring.datasource.password}"> <!--解决连接到别的数据库表问题--> <property name="nullCatalogMeansCurrent" value="true" /> </jdbcConnection> <!--这里填写生成的表实体类目录--> <javaModelGenerator targetPackage="com.zhange.blog.entity" targetProject="src/main/java"/> <!--这里填写生成的表xml目录--> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/> <!--这里填写生成的表mapper目录--> <javaClientGenerator targetPackage="com.zhange.blog.mapper" targetProject="src/main/java" type="XMLMAPPER"/> <!--这里的%通配符表示库里面的所有表--> <table tableName="%"> <!--mysql 配置--> <generatedKey column="id" sqlStatement="Mysql"/> <!--oracle 配置 identity="true" --> <!--<generatedKey column="id" sqlStatement="select SEQ_{1}.nextval from dual" identity="false" type="pre"/>--> </table> </context></generatorconfiguration>
这样一天就