www.mybatis.org/generator/configreference/xmlconfig.html
pom.xml文件
- <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>MBG</groupId>
- <artifactId>MBG</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>war</packaging>
- <name/>
- <description/>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.mybatis.generator</groupId>
- <artifactId>mybatis-generator-maven-plugin</artifactId>
- <version>1.3.5</version>
- <configuration>
- <configurationFile>src/main/java/mbg.xml</configurationFile>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </project>
配置的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>
- <!-- 生成代码 需要一些步骤
- 1 连接数据库 (驱动包 四要素)
- -->
- <classPathEntry location="H:\lib\mysql-connector-java-5.1.13-bin.jar" />
- <!-- 设置生成代码的规则
- targetRuntime开发环境使用Mybatis的版本
- -->
- <context id="DB2Tables" targetRuntime="MyBatis3">
- <plugin type="org.mybatis.generator.plugins.RowBoundsPlugin"></plugin>
- <!-- 配置连接mysql四要素 -->
- <jdbcConnection driverClass="com.mysql.jdbc.Driver"
- connectionURL="jdbc:mysql://localhost:3306/food"
- userId="root"
- password="123">
- </jdbcConnection>
- <javaTypeResolver >
- <property name="forceBigDecimals" value="false" />
- </javaTypeResolver>
- <!-- 实体类 bean 带有get和set方法的bean -->
- <javaModelGenerator targetPackage="cn.et.entity" targetProject="src/main/java">
- <property name="enableSubPackages" value="true" />
- <property name="trimStrings" value="true" />
- </javaModelGenerator>
- <!-- sql语句相关的xml或者注解的生成包路径 -->
- <sqlMapGenerator targetPackage="cn.et.dao" targetProject="src/main/java">
- <property name="enableSubPackages" value="true" />
- </sqlMapGenerator>
- <!-- 生成的接口所在位置 type="ANNOTATEDMAPPER"生成注解开发代码 type="XMLMAPPER"生成相对应的xml文件-->
- <javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="cn.et.dao" targetProject="src/main/java">
- <!-- enableSubPackages:是否让schema作为包的后缀 -->
- <property name="enableSubPackages" value="true" />
- </javaClientGenerator>
- <!-- 告诉mbg 需要生成代码的表 -->
- <table tableName="student" >
- </table>
- </context>
- </generatorConfiguration>
如果是myeclipse生成是就会出现一个的错误
`
maven运行方式
mybatis-generator:generate
2.使用java代码生成
- <?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="testTables" targetRuntime="MyBatis3">
- <commentGenerator>
- <!-- 是否去除自动生成的注释 true:是 : false:否 -->
- <property name="suppressAllComments" value="true" />
- </commentGenerator>
- <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
- <jdbcConnection driverClass="com.mysql.jdbc.Driver"
- connectionURL="jdbc:mysql://localhost:3306/store" userId="root"
- password="123">
- </jdbcConnection>
- <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
- NUMERIC 类型解析为java.math.BigDecimal -->
- <javaTypeResolver>
- <property name="forceBigDecimals" value="false" />
- </javaTypeResolver>
- <!-- targetProject:生成PO类的位置 -->
- <javaModelGenerator targetPackage="com.et.pojo"
- targetProject=".\src">
- <!-- enableSubPackages:是否让schema作为包的后缀 -->
- <property name="enableSubPackages" value="false" />
- <!-- 从数据库返回的值被清理前后的空格 -->
- <property name="trimStrings" value="true" />
- </javaModelGenerator>
- <!-- targetProject:mapper映射文件生成的位置 -->
- <sqlMapGenerator targetPackage="com.et.mapper"
- targetProject=".\src">
- <!-- enableSubPackages:是否让schema作为包的后缀 -->
- <property name="enableSubPackages" value="false" />
- </sqlMapGenerator>
- <!-- targetPackage:mapper接口生成的位置 -->
- <javaClientGenerator type="XMLMAPPER"
- targetPackage="com.et.mapper"
- targetProject=".\src">
- <!-- enableSubPackages:是否让schema作为包的后缀 -->
- <property name="enableSubPackages" value="false" />
- </javaClientGenerator>
- <!-- 指定数据库表 -->
- <table schema="" tableName="tb_content"></table>
- <table schema="" tableName="tb_content_category"></table>
- <table schema="" tableName="tb_item"></table>
- <table schema="" tableName="tb_item_cat"></table>
- <table schema="" tableName="tb_item_desc"></table>
- <table schema="" tableName="tb_item_param"></table>
- <table schema="" tableName="tb_item_param_item"></table>
- <table schema="" tableName="tb_order"></table>
- <table schema="" tableName="tb_order_item"></table>
- <table schema="" tableName="tb_order_shipping"></table>
- <table schema="" tableName="tb_user"></table>
- </context>
- </generatorConfiguration>
运行此方法
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- import org.mybatis.generator.api.MyBatisGenerator;
- import org.mybatis.generator.config.Configuration;
- import org.mybatis.generator.config.xml.ConfigurationParser;
- import org.mybatis.generator.exception.XMLParserException;
- import org.mybatis.generator.internal.DefaultShellCallback;
- public class GeneratorSqlmap {
- public void generator() throws Exception{
- List<String> warnings = new ArrayList<String>();
- boolean overwrite = true;
- //指定 逆向工程配置文件
- File configFile = new File("generatorConfig.xml");
- ConfigurationParser cp = new ConfigurationParser(warnings);
- Configuration config = cp.parseConfiguration(configFile);
- DefaultShellCallback callback = new DefaultShellCallback(overwrite);
- MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
- callback, warnings);
- myBatisGenerator.generate(null);
- }
- public static void main(String[] args) throws Exception {
- try {
- GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
- generatorSqlmap.generator();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
目录结构