MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po..)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。
/nxgouwu/src/main/resources/sqlMapGenerator.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>
<!-- 配置属性文件,这样有变更只需改配置文件 -->
<properties resource="generatorConfig.properties" />
<!-- 制定mysql的驱动包的路径 千万别放中文路径下 -->
<classPathEntry
location="D:\maven\repository\mysql\mysql-connector-java\5.1.40\mysql-connector-java-5.1.40.jar" />
<!-- 配置数据源和生成的代码所存放的位置 -->
<context id="company">
<!-- 是否生成注释 true不生成 false生成 -->
<commentGenerator>
<property name="suppressAllComments" value="${suppressAllComments}" />
</commentGenerator>
<jdbcConnection driverClass="${driverClass}"
connectionURL="${url}" userId="${username}" password="${password}" />
<!-- 所生成的实体类的位置默认资源包src -->
<javaModelGenerator targetPackage="${modeltargetPackage}"
targetProject="${targetProject}" />
<!-- 所生成的sqlMap的影射文件的位置,默认资源包src -->
<sqlMapGenerator targetPackage="${sqltargetPackage}"
targetProject="${targetProject}/src/main/resources" />
<javaClientGenerator targetPackage="${clienttargetPackage}"
targetProject="${targetProject}" type="XMLMAPPER" />
<!-- 为哪些表生成代码 tableName:表名 schema:不用填写 -->
<table schema="" tableName="orders" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>
<table schema="" tableName="user_info" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>
<table schema="" tableName="user_extra" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>
</context>
</generatorConfiguration>
/nxgouwu/src/main/resources/generatorConfig.properties
suppressAllComments=true
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/gouwu?characterEncoding=utf-8
username=root
password=g
modeltargetPackage=pojo
targetProject=nxgouwu
sqltargetPackage=mapper
clienttargetPackage=dao
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.spoon</groupId>
<artifactId>nxgouwu</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!--添加mysql驱动程序依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<!--日志包依赖 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>