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框架,下载地址:点击打开链接