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文件
相关文章
相关标签/搜索