mybatis generator自动生成代码

1.简介

MyBatis Generator (MBG) 是一个Mybatis的代码生成器,它可以帮助我们根据数据库中表的设计生成对应的实体类,xml Mapper文件,接口以及帮助类。下面我主要介绍基于Maven方式来生成相应的文件。

2.pox.xml 添加mybatis-generator
<!-- Mybatis generator 自动生成代码 -->
<build>
	<finalName>generator</finalName>
	<plugins>
		<plugin>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-maven-plugin</artifactId>
			<version>1.3.2</version>
			<configuration>
				<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
				<verbose>true</verbose>
				<overwrite>true</overwrite>
			</configuration>
			<dependencies>
				<!-- 数据库驱动 -->
				<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
				<dependency>
					<groupId>mysql</groupId>
					<artifactId>mysql-connector-java</artifactId>
					<version>5.1.30</version>
				</dependency>
				<dependency>
					<groupId>org.mybatis.generator</groupId>
					<artifactId>mybatis-generator-core</artifactId>
					<version>1.3.2</version>
				</dependency>
			</dependencies>
		</plugin>
	</plugins>
</build>
3.配置generatorConfig.xml
因为在pox.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>
	<!-- <classPathEntry
		location="C:/Users/Administrator/.m2/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30-sources.jar" /> -->
	<context id="MysqlTables" targetRuntime="MyBatis3">
		<property name="autoDelimitKeywords" value="true" />
		<property name="beginningDelimiter" value="`" />
		<property name="endingDelimiter" value="`" />

		<plugin type="org.mybatis.generator.plugins.RowBoundsPlugin" />
		<plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
		<commentGenerator>
			<property name="suppressDate" value="false" />
			<property name="suppressAllComments" value="true" />
		</commentGenerator>
		<!-- <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@172.20.16.***:1521:CARGO" 
			userId="***" password="***"/> -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://localhost:3306/test?zeroDateTimeBehavior=convertToNull&useSSL=false&useUnicode=true&characterEncoding=UTF-8"
			userId="root" password="root">
		</jdbcConnection>
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>
		<!--生成Model类存放位置 -->
		<javaModelGenerator targetPackage="com.java.generator.entity"
			targetProject="src/main/java">
			<property name="enableSubPackages" value="true" />
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
		<!--生成Mapper.xml存放位置 -->
		<sqlMapGenerator targetPackage="com.java.generator.mapper"
			targetProject="src/main/java">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>
		<!-- 生成DAO的包名和位置 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="com.java.generator.repository" targetProject="src/main/java">
			<property name="enableSubPackages" value="true" />
		</javaClientGenerator>
		<!-- 要生成那些表(更改tableName和domainObjectName就可以) -->
		<table tableName="emp" domainObjectName="Emp"
			enableCountByExample="false" enableUpdateByExample="false"
			enableDeleteByExample="false" enableSelectByExample="false"
			selectByExampleQueryId="false" >
            <generatedKey column="empNo" sqlStatement="JDBC" identity="true"/>
            <columnOverride column="empNo" javaType="Integer"/>
            <columnOverride column="empName" javaType="String"/>
            <columnOverride column="age" javaType="Integer"/>
            <columnOverride column="sex" javaType="Integer"/>
            <columnOverride column="inDate" javaType="Date"/>
		</table>
	</context>
</generatorConfiguration>

4.创建表

create table
CREATE TABLE `emp` (
   `empNo` int(12) NOT NULL auto_increment COMMENT '员工编号',
   `empName` varchar(200) default NULL COMMENT '员工名称',
   `age` int(12) default NULL COMMENT '年龄',
   `sex` int(12) default NULL COMMENT '性别 1:男 2:女',
   `inDate` date default NULL COMMENT '入职时间',
   PRIMARY KEY  (`empNo`)
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC

5.生成

右键项目,run as 选择 Run Configurations,点击Maven Build

右侧点击Workspace,在Goals:输入如下 mybatis-generator:generate,点击run即可生成

如下是生成的文件,对实体进行增删改操作,本项目为ssm框架,下载地址:点击打开链接





猜你喜欢

转载自blog.csdn.net/shy415502155/article/details/80770460