MyBatis-Generator快速入门 <二>(idea中的快速应用)
1.引入依赖包mybatis-generator-core
2.编写mybatis-generator的配置文件 generatorConfig.xml(名字自己取)
3.编写generatorConfig.properties文件(为了将配置文件中的变化数据单独抽离出来)
4.MBG的两种运行方式(还有其他的,这里只介绍两种),使用java类生成和使用plugin插件生成。
1.引入依赖包
<!-- mybatis-generator-core --> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <scope>test</scope> </dependency>
2. generatorConfig.properties文件(一般情况下,很少操作多个表,所以只配置了一个tableName)
#数据库相关配置 mysqlConnectorPath={存放路径}/mysql/mysql-connector-java/5.1.40/mysql-connector-java-5.1.40.jar driverClass=com.mysql.jdbc.Driver connectionURL=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8 userId=xxx{登录用户名} password=xxx{登录密码} #项目路径--工程的源代码存放位置 targetProject=E:/workspace/UseMybatis/UseMybatis #存放实体类的位置 pojoProject=E:/workspace/UseMybatis/UseMybatis-domain pojoPackage=com.lvdalin.stu.mybatis.domain #存放mapper文件的位置 mapperProject=E:/workspace/UseMybatis/UseMybatis-dao mapperPackage=mybatis.mapper #存放dao的位置 daoProject=E:/workspace/UseMybatis/UseMybatis-dao daoPackage=com.lvdalin.stu.mybatis.dao #表名 tableName=mybatis_user #表对应实体类名 domainObjectName=User #别名 推荐使用,遇到表关联的时候,使用起来修改的东西比较少。 tableAlias=u
3.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> <!-- 引入配置文件 --> <properties resource="generatorConfig.properties"/> <classPathEntry location="${mysqlConnectorPath}" /> <context id="context1" targetRuntime="MyBatis3"> <commentGenerator> <!-- 是否去除自动生成的注释 true:是 : false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <jdbcConnection connectionURL="${connectionURL}" driverClass="${driverClass}" password="${userId}" userId="${password}" /> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <javaModelGenerator targetPackage="${pojoPackage}" targetProject="${pojoProject}srcmainjava"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <sqlMapGenerator targetPackage="${mapperPackage}" targetProject="${mapperProject}srcmain esources"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <javaClientGenerator targetPackage="${daoPackage}" targetProject="${daoProject}srcmainjava" type="XMLMAPPER"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <table tableName="${tableName}" domainObjectName="${domainObjectName}" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true" alias="${tableAlias}" > </table> </context> </generatorConfiguration>
4.MBG的运行方式
a.java类运行,确定好配置文件路径,运行即可。 MyBatisGeneratorMain.java
package com.lvdalin.stu.mybatis.generate; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.exception.InvalidConfigurationException; import org.mybatis.generator.exception.XMLParserException; import org.mybatis.generator.internal.DefaultShellCallback; import java.io.File; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class MyBatisGeneratorMain { public static void main(String[] args) { List<String> warnings = new ArrayList<String>(); boolean overwrite = true; String genCfg = "/generatorConfig.xml";//路径与防止这个文件的位置有关 File configFile = new File(MyBatisGeneratorMain.class.getResource(genCfg).getFile()); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = null; try { config = cp.parseConfiguration(configFile); } catch (IOException e) { e.printStackTrace(); } catch (XMLParserException e) { e.printStackTrace(); } DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = null; try { myBatisGenerator = new MyBatisGenerator(config, callback, warnings); } catch (InvalidConfigurationException e) { e.printStackTrace(); } try { myBatisGenerator.generate(null); } catch (SQLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } }
b.使用plugin运行 在pom文件中添加mybatis-generator-maven-plugin,指明配置文件路径,然后在当前项目下的Plugins下run。
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <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> </plugin> </plugins> </build>
下载源码: