mybatis generator代码生成器使用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/zhouhaisunny/article/details/83447434

MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各个版本的代码,和iBATIS 2.2.0版本以后的代码。 他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。 这样和数据库表进行交互时不需要创建对象和配置文件。 MBG的解决了对数据库操作有最大影响的一些简单的CRUD(插入,查询,更新,删除)操作。 您仍然需要对联合查询和存储过程手写SQL和对象。

官方中文文档:http://mbg.cndocs.ml/

mybatis-generator有三种用法:命令行、eclipse插件、maven插件,我们当然选择maven插件的方式最方便。

Eclipse下新建maven普通项目,只需要pom.xml文件和generator的config文件:

1.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>com.citywy</groupId>
  <artifactId>mybatisgenerator01</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
	  <groupId>org.mybatis</groupId>
	  <artifactId>mybatis</artifactId>
	  <version>3.4.5</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
	<dependency>
	    <groupId>mysql</groupId>
	    <artifactId>mysql-connector-java</artifactId>
	    <version>5.1.38</version>
	</dependency>
  </dependencies>
  <build>
  	<finalName>mybatisgenerator</finalName>
  	<plugins>
		<plugin>
		    <groupId>org.mybatis.generator</groupId>
		    <artifactId>mybatis-generator-maven-plugin</artifactId>
		    <version>1.3.5</version>
		    <configuration>
				<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
        		<verbose>true</verbose>
        		<overwrite>true</overwrite>
		    </configuration>
		</plugin>
	</plugins>
  </build>
</project>

2.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>
    <!-- 数据库驱动包位置 -->
    <classPathEntry location="E:\PACKAGE\mysql-connector-java-5.1.18.jar" />
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
        	<property name="suppressDate" value="false"/>
            <property name="suppressAllComments" value="true" />  
        </commentGenerator>
        <!-- 数据库链接URL、用户名、密码 -->
         <!--<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/my_db?characterEncoding=utf8" userId="root" password="123456"> -->   
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/czssm" userId="root" password="admin"/>
        <!-- 生成模型的包名和位置 -->
        <javaModelGenerator targetPackage="com.citywy.model" targetProject="src/main/java">  
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- 生成的映射文件包名和位置 -->
        <sqlMapGenerator targetPackage="com.citywy.mapping" targetProject="src/main/java">  
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
        <!-- 生成DAO的包名和位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.citywy.dao" targetProject="src/main/java">  
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
        <!-- 要生成那些表(更改tableName和domainObjectName就可以) -->  
        <table tableName="country" domainObjectName="country" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />  
        <table tableName="course" domainObjectName="course" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
        <table tableName="middle" domainObjectName="middle" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
    </context>
</generatorConfiguration>

在ecplise中使用,则右击工程,maven build,添加命令mybatis-generator:generate正常来说代码就生成了,就是上面红框中的所有代码和文件夹。

如果报了这个错:-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.就要添加M2_HOME的环境变量,Preference->Java->Installed JREs->Edit 选择执行的jdk,添加上代码:

-Dmaven.multiModuleProjectDirectory=$M2_HOME    以前跑maven项目也能跑啊,这个加上干吗用的呢?公司的环境不用下面这个,如果你执行报上面的错就加上吧。

猜你喜欢

转载自blog.csdn.net/zhouhaisunny/article/details/83447434