maven项目自动生成代码(mybatis-generator 代码自动生成)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Hero_QHZ/article/details/78614945
1.本地安装maven,配置好环境变量
2.在项目下的jdbc文件中引用相关mapper插件:(拷贝以下代码,修改相关路径)
jdbc.driver=com.mysql.jdbc.Driver
	jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode\=true&characterEncoding\=utf8;zeroDateTimeBehavior\=convertToNull
	jdbc.username=root
	jdbc.password=mysql
	
	mapper.plugin = tk.mybatis.mapper.generator.MapperPlugin
	mapper.Mapper = tk.mybatis.mapper.common.Mapper
	#以下注释最后需要使用,使用时不要注释(#)
	#mvn mybatis-generator:generate

3.在项目文件的pom.xml中配置好接口和实体类和mapper.xml的生成路径

<properties>
		<!--  Java接口和实体类生成路径  -->
        <targetJavaProject>${basedir}/src/main/java</targetJavaProject>
        <apiTargetJavaProject>E:\qdg\workspace_qdpwlds00\bbc-api/src/main/java</apiTargetJavaProject>
        <targetMapperPackage>com.qdport.bbc.dao</targetMapperPackage>
        <targetModelPackage>com.qdport.bbc.bean</targetModelPackage>
        <!--  XML生成路径  -->
        <targetXMLPackage>com.qdport.bbc.mapping</targetXMLPackage>
	</properties>

在项目的pom.xml中配置 generatorConfig的相关插件

<plugin>
		<groupId>org.mybatis.generator</groupId>
		<artifactId>mybatis-generator-maven-plugin</artifactId>
		<version>1.3.2</version>
		<configuration>
			<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
			<overwrite>true</overwrite>
			<verbose>true</verbose>
		</configuration>
		<dependencies>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>${mysql.version}</version>
			</dependency>
			<dependency>
				<groupId>tk.mybatis</groupId>
				<artifactId>mapper</artifactId>
				<version>${mapper.version}</version>
			</dependency>
		</dependencies>
	</plugin>

4.在项目resource的文件夹中,新建generatorConfiguration.xml文件,引用jdbc配置文件,并设置需要生成的表及实体类名称 代码如下:

<?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>
  <!-- 引用项目中的jdbc的文件 -->
  <properties resource="properties/jdbc.properties"/>

  <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
  	<property name="javaFileEncoding" value="UTF-8"/>
    <property name="beginningDelimiter" value="`"/>
    <property name="endingDelimiter" value="`"/>
    
    <plugin type="${mapper.plugin}">
      <property name="mappers" value="${mapper.Mapper}"/>
    </plugin>

    <jdbcConnection driverClass="${jdbc.driver}"
                    connectionURL="${jdbc.url}"
                    userId="${jdbc.username}"
                    password="${jdbc.password}">
    </jdbcConnection>

    <javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${apiTargetJavaProject}"/>

    <sqlMapGenerator targetPackage="${targetXMLPackage}"  targetProject="${targetJavaProject}"/>

    <javaClientGenerator targetPackage="${targetMapperPackage}" targetProject="${targetJavaProject}" type="XMLMAPPER" />
    
	<!-- 需要生成的表的名称,及实体类名称 -->
    <table tableName="bbc_car_info" domainObjectName="BbcCarInfo" >
    	<generatedKey column="id" sqlStatement="Mysql" identity="true"/>
    </table>
	 
  </context>
</generatorConfiguration>

一切配置完成之后,选中项目,右键→Show In→Terminal 出来Terminal控制台后
然后将jdbc下的那段代码拷过来:mvn mybatis-generator:generate   右键粘贴(控制台不能Ctrl+v) 然后回车
等到控制台打印出:
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.807 s
[INFO] Finished at: 2017-11-23T13:58:29+08:00
[INFO] Final Memory: 9M/119M
表示相关代码生成完毕,刷新项目便可看到

相关文件如图:


相关操作如图:


pom源代码:

<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.qdport</groupId>
	<artifactId>bbc-service</artifactId>
	<packaging>war</packaging>
	<version>1.0.0</version>
	<name>bbc-service</name>
	<url>http://maven.apache.org</url>
	<properties>
		<!--  Java接口和实体类  -->
        <targetJavaProject>${basedir}/src/main/java</targetJavaProject>
        <apiTargetJavaProject>E:\qdg\workspace_qdpwlds00\bbc-api/src/main/java</apiTargetJavaProject>
        <targetMapperPackage>com.qdport.bbc.dao</targetMapperPackage>
        <targetModelPackage>com.qdport.bbc.bean</targetModelPackage>
        <!--  XML生成路径  -->
        <targetXMLPackage>com.qdport.bbc.mapping</targetXMLPackage>
        
		<spring.version>4.2.5.RELEASE</spring.version>
		<mybatis.version>3.3.1</mybatis.version>
		<mysql.version>5.1.30</mysql.version>
		<mybatisspring.version>1.2.4</mybatisspring.version>
		<druid.version>1.0.18</druid.version>
		<slf4j.version>1.6.6</slf4j.version>
		<log4j.version>1.2.12</log4j.version>
		<mapper.version>3.3.6</mapper.version>
        <pagehelper.version>5.0.0</pagehelper.version>
	</properties>
	<repositories>
		<repository>
			<id>sonatype-nexus-snapshots</id>
			<name>Sonatype Nexus Snapshots</name>
			<url>http://oss.sonatype.org/content/repositories/snapshots</url>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
	</repositories>
	<dependencies>
		<dependency>
		    <groupId>junit</groupId>
		    <artifactId>junit</artifactId>
		    <version>4.12</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version> ${spring.version}</version>
			<scope>test</scope>
		</dependency>
		
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<version>1.9.5</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>${druid.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.8.9</version>
		</dependency>

		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>${mybatis.version}</version>
		</dependency>

		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>${mybatisspring.version}</version>
		</dependency>

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.4</version>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>${mysql.version}</version>
		</dependency>

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>hsf.schema</artifactId>
			<version>edas1.0.0</version>
		</dependency>

		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
		</dependency>

		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.8</version>
		</dependency>

		<dependency>
			<groupId>com.aliyun.openservices</groupId>
			<artifactId>aliyun-openservices</artifactId>
			<version>1.0.10</version>
		</dependency>

		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.2.2</version>
		</dependency>

		<dependency>
			<groupId>commons-collections</groupId>
			<artifactId>commons-collections</artifactId>
			<version>3.2.1</version>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-pool2</artifactId>
			<version>2.2</version>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.0.1</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.6</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.bouncycastle</groupId>
			<artifactId>bcprov-jdk15on</artifactId>
			<version>1.47</version>
		</dependency>

		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j.version}</version>
		</dependency>

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${slf4j.version}</version>
		</dependency>

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>${slf4j.version}</version>
		</dependency>

		<dependency>
			<groupId>com.github.jsqlparser</groupId>
			<artifactId>jsqlparser</artifactId>
			<version>0.9.4</version>
		</dependency>

		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
			<version>4.1.3</version>
		</dependency>

		<dependency>
			<groupId>javax.persistence</groupId>
			<artifactId>persistence-api</artifactId>
			<version>1.0</version>
		</dependency>

		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>2.2.4</version>
		</dependency>
		<dependency>
			<groupId>com.github.abel533</groupId>
			<artifactId>ECharts</artifactId>
			<version>2.2.7</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.session</groupId>
			<artifactId>spring-session</artifactId>
			<version>1.0.2.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.session</groupId>
			<artifactId>spring-session-data-redis</artifactId>
			<version>1.0.2.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>2.6.2</version>
		</dependency>

		<dependency>
			<groupId>net.sourceforge.pjl-comp-filter</groupId>
			<artifactId>pjl-comp-filter</artifactId>
			<version>1.7</version>
		</dependency>

		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.5.2</version>
		</dependency>

		<dependency>
			<groupId>javax.faces</groupId>
			<artifactId>jsf-api</artifactId>
			<version>2.1</version>
		</dependency>

		<dependency>
			<groupId>dom4j</groupId>
			<artifactId>dom4j</artifactId>
			<version>1.6.1</version>
		</dependency>
		
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
			<version>1.4.7</version>
		</dependency>
		
		<dependency>
			<groupId>org.im4java</groupId>
			<artifactId>im4java</artifactId>
			<version>1.4.0</version>
		</dependency>
		
		<dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.2</version>
            <scope>compile</scope>
            <optional>true</optional>
        </dependency>
        
		<!--分页插件-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>${pagehelper.version}</version>
        </dependency>
        
         <!--通用Mapper-->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper</artifactId>
            <version>${mapper.version}</version>
        </dependency>
        
		<!-- 汉字转换为拼音 -->
		<dependency>
			<groupId>com.belerweb</groupId>
			<artifactId>pinyin4j</artifactId>
			<version>2.5.0</version>
		</dependency>
		
		<!-- 内部项目引用 -->
		<dependency>
			<groupId>com.qdport</groupId>
			<artifactId>bbc-api</artifactId>
			<version>1.0.0</version>
		</dependency>
	</dependencies>
	<build>
		<finalName>bbc-service</finalName>
		<resources>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.xml</include>
				</includes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>*/*.*</include>
				</includes>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.0-beta-1</version>
				<configuration>
					<port>8090</port>
					<path>/</path>
					<uriEncoding>UTF-8</uriEncoding>
					<finalName>bbc-service</finalName>
					<server>tomcat7</server>
				</configuration>
			</plugin>
			<plugin>  
                <groupId>org.apache.maven.plugins</groupId>  
                <artifactId>maven-compiler-plugin</artifactId>  
                <version>2.3.2</version>  
                <configuration>  
                    <source>1.6</source>  
                    <target>1.6</target>  
                </configuration>  
            </plugin>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>${mysql.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>tk.mybatis</groupId>
                        <artifactId>mapper</artifactId>
                        <version>${mapper.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
		</plugins>
	</build>
</project>


猜你喜欢

转载自blog.csdn.net/Hero_QHZ/article/details/78614945