mybatis generator自動生成實體類

generator是一個強大的工具,建好數據庫以後就能夠根據數據庫生成實體類,實體類mybatis接口,和xml文件 ##1.所需jar包java

mybatis-3.4.2.jar
mysql-connector-java-5.1.21.jar
mybatis-generator-core-1.3.0.jar

##2.編寫generator.xml文件mysql

<?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:數據庫的JDBC驅動的jar包地址 -->
	<classPathEntry location="C:\Users\huangsm@allinfinance.com\.m2\repository\mysql\mysql-connector-java\5.1.21\mysql-connector-java-5.1.21.jar" />
	<context id="DB2Tables" targetRuntime="MyBatis3">
		<commentGenerator>
		<!-- 抑制警告 -->
		<property name="suppressTypeWarnings" value="true" />
		<!-- 是否去除自動生成的註釋 true:是 : false:否 -->
		<property name="suppressAllComments" value="false" />
		<!-- 是否生成註釋代時間戳-->  
		<property name="suppressDate" value="true" /> 
		</commentGenerator>

		<!--數據庫鏈接的信息:驅動類、鏈接地址、用戶名、密碼 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://192.168.236.131:3306/test?characterEncoding=utf8" userId="root"
			password="1994713">
		</jdbcConnection>
		<!-- <jdbcConnection driverClass="com.mysql.jdbc.Driver" 
			connectionURL="jdbc:Mysql://localhost:3306/庫名子?characterEncoding=utf8" userId="用戶名"
			password="密碼" /> -->
		<!-- 默認false,把JDBC DECIMAL 和 NUMERIC 類型解析爲 Integer true,把JDBC DECIMAL 和 
			NUMERIC 類型解析爲java.math.BigDecimal -->
	<!-- 	<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver> -->
        <!--生成Model類存放位置 -->
		<javaModelGenerator targetPackage="com.hsm.domain"
			targetProject="D:\AllinfinanceIDE\workspace2\testgwt\mybatis_generator\src\main\java">
			 <!-- 是否在當前路徑下新加一層schema,eg:fase路徑com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
			<property name="enableSubPackages" value="false" />
			 <!-- 是否針對string類型的字段在set的時候進行trim調用 -->  
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
        <!--生成映射文件存放位置 -->
		<sqlMapGenerator targetPackage="com.hsm.mapper"
			targetProject="D:\AllinfinanceIDE\workspace2\testgwt\mybatis_generator\src\main\java">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>
        <!--生成Dao類存放位置 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="com.hsm.dao" 
			targetProject="D:\AllinfinanceIDE\workspace2\testgwt\mybatis_generator\src\main\java">
			<property name="enableSubPackages" value="true" />
		</javaClientGenerator>
       	<!-- tableName:用於自動生成代碼的數據庫表;domainObjectName:對應於數據庫表的javaBean類名 -->  
        <table schema="general" tableName="tt_user" domainObjectName="User">
         <!--domain字段的命名規則,false:默認爲駝峯命名 true:按數據庫真實命名  -->
        <property name="useActualColumnNames" value="false"/>
        <!-- 忽略列,不生成bean 字段 -->  
        <!--     <ignoreColumn column="FRED" />   -->
        <!-- 指定列的java數據類型 -->  
        <!--     <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />   -->
        </table>
	</context>
</generatorConfiguration>

##3.自動生成命令,這個記得使用cmd執行sql

Java -jar 電腦上mybatis-generator-core-1.3.0.jar的絕對路徑  -configfile 電腦上generator.xml的絕對路徑 -overwrite

##4.使用java方式生成數據庫

package com.hsm;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
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.InvalidConfigurationException;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;
public class BuildFile {
	public static void main(String[] args) throws InvalidConfigurationException, IOException, XMLParserException, SQLException, InterruptedException {
	    List<String> warnings = new ArrayList<String>();  
	      boolean overwrite = true;  
	      File configFile = new File("D:\\AllinfinanceIDE\\workspace2\\testgwt\\mybatis_generator\\src\\main\\java\\com\\hsm\\generator.xml");  //輸入絕對路徑
	      ConfigurationParser cp = new ConfigurationParser(warnings);  
	      Configuration config=null;
		  config = cp.parseConfiguration(configFile);
	      DefaultShellCallback callback = new DefaultShellCallback(overwrite);  
	      MyBatisGenerator myBatisGenerator = null;
	      myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
	      myBatisGenerator.generate(null);
	}
}

##5.注意事項api

1. 注意你的各個文件的路徑位置,能夠自動生成
2.有的數據庫可能會有大小寫問題,我在這個地方出了問題的
3.注意理清catalog,scheme的區別,這個有助於編寫xml文件
相關文章
相關標籤/搜索