maven mybatis generator反向生成把其他数据库的表也一起生成的问题

本文介绍了一个使用MyBatisGenerator反向生成代码时遇到的问题,即错误地生成了所有数据库中的所有表,而非仅限于目标数据库。通过调整MySQL驱动jar包版本,从8.0.13降至5.1.47,成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       最近自己弄了个项目玩,在用mybatis generator进行反向生成的时候发现把其他数据库的表(就是把本地mysql下所有数据库的所有表都生成了)也一起生成进来了(总共生成了1千多张表的实体-_-||)

       首先我检查了下配置,发现也没问题,之前都是这个配置的(之前没有这个问题)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
  	<context id="Mysql" targetRuntime="Mybatis3Simple" defaultModelType="flat">
  		
  		<!-- 指定生成的java文件的编码,没有直接生成到项目时中文可能会乱码 -->
		<property name="javaFileEncoding" value="UTF-8" />
  		
  		<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
  			<!-- 生成的mapper中需要继承的父mapper -->
  			<property name="mappers" value="com.test.blog.dao.BaseMapper"/>
  			<!-- 是否区分大小写 -->
  			<property name="caseSensitive" value="false"/>
  		</plugin>
  		
  		<!-- 配置model序列化 -->
  		<plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>
  	
	    <jdbcConnection connectionURL="jdbc:mysql://127.0.0.1:3306/blog-new" driverClass="com.mysql.jdbc.Driver" password="root" userId="root" />
	    <javaModelGenerator targetPackage="com.test.blog.entity" targetProject=".\src\main\java" />
	    <sqlMapGenerator targetPackage="mapper" targetProject=".\src\main\resources" />
	    <javaClientGenerator targetPackage="com.test.blog.dao" targetProject=".\src\main\java" type="XMLMAPPER" />
	    <table tableName="%" enableSelectByExample="false" enableDeleteByExample="false"
				enableCountByExample="false" enableUpdateByExample="false">
	      	
	    </table>
  	</context>
</generatorConfiguration>

tableName="%"就是生成该数据库下所有表的意思(其实就是SQL通配符)

       最后发现是mysql驱动jar包的问题,我自己电脑装的mysql版本是5.7,然而驱动jar包版本是8.0.13,把驱动jar包换回5(我换的是5.1.47版本)系列的版本就行了。

所以,这里要注意一下,不一定最新的jar包就是好的,最主要的是和自己数据库版本对应

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值