关于逆向工程,解决mysql数据库遇到的1406问题,ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'

先说逆向过程,先是在PowerDesginer这个软件上生成数据表,然后生成sql脚本,
在这里插入图片描述
生成sql脚本:
在这里插入图片描述
然后在命令行进行数据生成。
1.连接mysql数据库
2.use 数据库(其中一个空数据库)
3.用MySQL的source命令导入SQL文件实战记录。
输入source 脚本全路径 或者 . 脚本全路径
如:source <C:\Users\lenovo\Desktop\tsinfo180516\tsinfo180516.sql
然后,在执行的时候遇到了一些问题:
1.1406 (22001): Data too long for column ‘name’ at row 1
在Windows下,命令行窗口不支持UTF-8编码,所以使用“set names utf8;”不会达到转化中文的效果。
2.ERROR 1062 (23000): Duplicate entry ‘0’ for key ‘PRIMARY’
这个问题不知道怎么弄,试了好几次都不行,最后选择重新创建一个新的数据库,然后用这个数据库,最后这个问题就解决了。(我猜的应该是之前执行了好几次,遇到重复的问题,实在没办法了,只有选择这样做了)
后面就是MyBatis Generator逆向工程生成代码
1.配置Maven pom.xml 文件
在pom.xml增加以下插件:

<build>
  <finalName>zsxt</finalName>
  <plugins>
    <plugin>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-maven-plugin</artifactId>
      <version>1.3.2</version>
      <configuration>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
      </configuration>
    </plugin>
  </plugins>
</build>

2.在maven项目下的src/main/resources 目录下建立名为 Maven的项目配置文件存放路径如下图:generatorConfig.xml和generator.properties配置文件,
generatorConfig.xml代码如下:

<?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="MySQLTables" targetRuntime="MyBatis3">
	
	<!--抑制注释生产,不生产注释-->
		<commentGenerator>
			<property name="suppressAllComments" value="true"/>
		</commentGenerator>
	
	
		<!-- mvn mybatis-generator:generate 配置数据库位置 ,配置虚拟机上的mysql ip地址;不采用安全协议连接,否则无法逆向生成 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
						connectionURL="jdbc:mysql://127.0.0.1/atcrowfunding01"
						userId="root"
						password="123456">
		</jdbcConnection>


		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>


		<!-- javaBean生成在哪里 -->
		<javaModelGenerator
			targetPackage="com.atguigu.atcrowdfunding.bean"
			targetProject="..\atcrowdfunding-bean\src\main\java">
			<property name="enableSubPackages" value="true" />
			<property name="trimStrings" value="true" />
		</javaModelGenerator>

		<!-- sqlMap sql映射文件(xml mapper文件) -->
		<sqlMapGenerator targetPackage="mybatis.mapper"
			targetProject="..\atcrowdfunding-manager-impl\src\main\resources">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>

		<!-- javaClient:java接口生成的地方 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="com.atguigu.atcrowdfunding.mapper"
			targetProject="..\atcrowdfunding-manager-api\src\main\java">
			<property name="enableSubPackages" value="true" />
		</javaClientGenerator>

		<table schema="" tableName="%"></table>

	</context>
</generatorConfiguration> 

3.jdbc.propertites代码如下:

datasource.username=root
datasource.password=123
datasource.url=jdbc:mysql://127.0.0.1/atcrowfunding01
datasource.drive=com.mysql.jdbc.Driver

4.在Intellij IDEA添加一个“Run运行”选项,使用maven运行mybatis-generator-maven-plugin插件
在这里插入图片描述
点击 菜单run中Edit Configurations,会出现
在name和Commond line分别填上如上图所示,apply和ok
最后点击generator,生成model,mapper,dao

参考:https://blog.csdn.net/for_my_life/article/details/51228098

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值