1. 程式人生 > >Mybatis-逆向工程

Mybatis-逆向工程

一、配置maven pom.xml檔案,在pom.xml中配置以下外掛

<build>
  <finalName>zsxt</finalName>
  <plugins>
    <plugin>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-maven-plugin</artifactId>
      <version>1.3.2</version>
      <configuration>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
      </configuration>
    </plugin>
  </plugins>
</build>

二、在maven專案下的src/main/resources 目錄下建立名為generatorConfig.xml和jdbc.properties配置檔案

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="jdbc.properties"></properties>

	<!--指定特定資料庫的jdbc驅動jar包的位置-->
	<classPathEntry location="${jdbc.driverLocation}"/>

	<!-- ① 簡單版,不想要Example等內容 -->
	<!--<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">-->

	<!--② 複雜版,有輔助查詢類 -->
	<context id="testTables" targetRuntime="MyBatis3">

		<commentGenerator>
			<!-- 是否去除自動生成的註釋 true:是 : false:否 -->
			<property name="suppressAllComments" value="true" />
		</commentGenerator>
		
		<!--資料庫連線的資訊:驅動類、連線地址、使用者名稱、密碼 -->
		<jdbcConnection 
			driverClass="${jdbc.driverClass}"
			connectionURL="${jdbc.connectionURL}"
			userId="${jdbc.userId}"
			password="${jdbc.password}">
		</jdbcConnection>

		<!-- 預設false,把JDBC DECIMAL 和 NUMERIC 型別解析為 Integer,為 true時把JDBC DECIMAL 和 
			NUMERIC 型別解析為java.math.BigDecimal -->
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>

		<!-- targetProject:生成Entity類的路徑 -->
		<javaModelGenerator targetProject=".\src" targetPackage="main.java.com.emax.paycenter.payBO">
			<!-- enableSubPackages:是否讓schema作為包的字尾 -->
			<property name="enableSubPackages" value="false" />
			<!-- 從資料庫返回的值被清理前後的空格 -->
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
		
        <!-- targetProject:XXXMapper.xml對映檔案生成的路徑 -->
		<sqlMapGenerator targetProject=".\src" targetPackage="mapperxml">
			<!-- enableSubPackages:是否讓schema作為包的字尾 -->
			<property name="enableSubPackages" value="false" />
		</sqlMapGenerator>
		
		<!-- targetPackage:Mapper介面生成的位置 -->
		<javaClientGenerator type="XMLMAPPER" targetProject=".\src" targetPackage="com.emax.paycenter.payBO">
			<!-- enableSubPackages:是否讓schema作為包的字尾 -->
			<property name="enableSubPackages" value="false" />
		</javaClientGenerator>
		
		<!-- 資料庫表名字和我們的entity類對應的對映指定 -->
		<table tableName="t_info_bankmap" 	domainObjectName="BankMapppp">
			<!-- 生成的po類的屬性名按照駝峰格式 -->
			<property name="useActualColumnNames" value="true"/>
		</table>

		 <!--有些表的欄位需要指定java型別 -->
		 <!--<table schema="" tableName="t_sms_record">-->
			<!--<columnOverride column="" javaType="" />-->
		<!--</table>-->
	</context>
</generatorConfiguration>

jdbc.properties

jdbc.driverLocation=D:\\Java\\mysql-connector-java-5.1.24.jar
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://192.168.40.252:3306/pay_test
jdbc.userId=admin
jdbc.password=123456

三、在Intellij IDEA新增一個“Run執行”選項,使用maven執行mybatis-generator-maven-plugin外掛

點選選單-->run-->Edit Configurations-->點選+號選擇maven-->在name和Commond line分別填上如上圖所示

四、最後點選generator就能生成響應的mapper介面、實體類、mapper.xml檔案