学习SSM中要写大量的配置文件和同样格式的文件, 就了解到了 Mybatis Generator 在这里做个总结
Myeclipse 中安装mybatis插件和使用:
一、首先下载和安装插件
1、Mybatis Generator 的下载地址:http://download.csdn.net/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.csdn.net/shayboke/article/details/61202079
