学习SSM中要写大量的配置文件和同样格式的文件, 就了解到了 Mybatis Generator 在这里做个总结
Myeclipse 中安装mybatis插件和使用:
一、首先下载和安装插件
1、Mybatis Generator 的下载地址:http://download.youkuaiyun.com/download/shayboke/9776906;
2、复制插件包中的features和plugins放到myeclipse的安装目录下的 dropins 文件夹下面;
3、重启 Myeclipse 然后在 File->New->other 搜索 mybatis 如果有,说明成功了;
二、工程目录下建立generator的配置文件
1、在创建配置文件的资源文件下右击,New->other 选择 Mybatis Generator Configuration File 双击,创建 generatorConfig.xml;
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>
- <!-- 引入配置文件 -->
- <properties resource="jdbc.properties" />
- <!-- 指定数据连接驱动jar地址 -->
- <classPathEntry location="${mysql.classPath}" />
- <!-- 一个数据库一个context -->
- <context id="Mysql" targetRuntime="MyBatis3">
- <!-- 注释 -->
- <commentGenerator>
- <!-- 是否生成注释代时间戳-->
- <property name="suppressDate" value="true" />
- <!-- 是否去除自动生成的注释 true:是 : false:否 -->
- <property name="suppressAllComments" value="true" />
- </commentGenerator>
- <!--数据库链接URL,用户名、密码 -->
- <jdbcConnection driverClass="${driver}"
- connectionURL="${url}" userId="${username}"
- password="${password}">
- </jdbcConnection>
- <!-- 指定JDBC和Java类型转换 -->
- <javaTypeResolver>
- <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
- <property name="forceBigDecimals" value="false" />
- </javaTypeResolver>
- <!-- 生成实体类的包名地址 -->
- <javaModelGenerator targetPackage="com.shayboke.user.pojo"
- targetProject="src/main/java">
- <!-- 自动为每一个生成的类创建一个构造方法,构造方法包含了所有的field;而不是使用setter;-->
- <property name="constructorBased" value="false"/>
- <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
- <property name="enableSubPackages" value="false" />
- <!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
- <property name="trimStrings" value="true" />
- </javaModelGenerator>
- <!-- 生成映射文件的包名和位置 -->
- <sqlMapGenerator targetPackage="com.shayboke.user.mapper"
- targetProject="src/main/java">
- <property name="enableSubPackages" value="false" />
- </sqlMapGenerator>
- <!-- 生成DAO的包名和位置 -->
- <javaClientGenerator type="XMLMAPPER"
- targetPackage="com.shayboke.user.dao" targetProject="src/main/java">
- <property name="enableSubPackages" value="false" />
- </javaClientGenerator>
- <!-- 要生成哪些表 -->
- <table tableName="t_user" domainObjectName="User"
- enableCountByExample="false" enableUpdateByExample="false"
- enableDeleteByExample="false" enableSelectByExample="false"
- selectByExampleQueryId="false">
- <generatedKey column="id" sqlStatement="Mysql" identity="true" />
- </table>
- </context>
- </generatorConfiguration>
- <!-- <generatorConfiguration > <context id="context1" > <jdbcConnection driverClass="???"
- connectionURL="???" userId="???" password="???" /> <javaModelGenerator targetPackage="???"
- targetProject="???" /> <sqlMapGenerator targetPackage="???" targetProject="???"
- /> <javaClientGenerator targetPackage="???" targetProject="???" type="XMLMAPPER"
- /> <table schema="???" tableName="???" > <columnOverride column="???" property="???"
- /> </table> </context> </generatorConfiguration> -->
3、运行,根据配置文件生成文件
首先要引入 mybatis-generator-core-1.3.4的jar包
- package com.shayboke.main;
- 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 GenMain {
- public static void main(String[] args) {
- List<String> warnings = new ArrayList<String>();
- boolean overwrite = true;
- String genCfg = "/generatorConfig.xml";
- File configFile = new File(GenMain.class.getResource(genCfg).getFile());
- ConfigurationParser cp = new ConfigurationParser(warnings);
- Configuration config = null;
- try {
- config = cp.parseConfiguration(configFile);
- } catch (IOException e) {
- e.printStackTrace();
- } catch (XMLParserException e) {
- e.printStackTrace();
- }
- DefaultShellCallback callback = new DefaultShellCallback(overwrite);
- MyBatisGenerator myBatisGenerator = null;
- try {
- myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
- } catch (InvalidConfigurationException e) {
- e.printStackTrace();
- }
- try {
- myBatisGenerator.generate(null);
- } catch (SQLException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
关于上面的配置文档说明可以查看我的另一篇博客文章:http://blog.youkuaiyun.com/shayboke/article/details/61202079