Mybits 逆向工程

来源:互联网 发布:淘宝手机架 编辑:程序博客网 时间:2024/06/06 00:35
     Mybatis的逆向工程是根据数据库表生成XXXmapper,XXXmapper.xml,entity类的步骤,下面详细示例:
1.创建数据库表
CREATE TABLE `orders` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `user_id` int(11) NOT NULL COMMENT '下单用户id',  `number` varchar(32) NOT NULL COMMENT '订单号',  `createtime` datetime NOT NULL COMMENT '创建订单时间',  `note` varchar(100) DEFAULT NULL COMMENT '备注',  PRIMARY KEY (`id`),  KEY `FK_orders_1` (`user_id`),  CONSTRAINT `FK_orders_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;CREATE TABLE `user` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `username` varchar(32) NOT NULL COMMENT '用户名称',  `birthday` date DEFAULT NULL COMMENT '生日',  `sex` char(1) DEFAULT NULL COMMENT '性别',  `address` varchar(256) DEFAULT NULL COMMENT '地址',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;
2.导入相关jia包:
log4j-1.2.16.jarmybatis-3.2.3.jarmybatis-generator-core-1.3.2-javadoc.jarmybatis-generator-core-1.3.2-sources.jarmybatis-generator-core-1.3.2.jarmysql-connector-java-5.1.28-bin.jar
3.配置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>     <!--  复杂版:有辅助查询类          <context id="testTables" targetRuntime="MyBatis3">      -->          <!-- 简单版:不想要Example等内容          <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">         -->          <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">               <commentGenerator>              <!-- 是否去除自动生成的注释 true:是 : false:否 -->              <property name="suppressAllComments" value="true" />          </commentGenerator>                    <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->          <jdbcConnection              driverClass="com.mysql.jdbc.Driver"               connectionURL="jdbc:mysql://localhost:3306/Mybatis1"              userId="root"              password="123456">          </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="com.atguigu.mybatis.entities">              <!-- enableSubPackages:是否让schema作为包的后缀 -->              <property name="enableSubPackages" value="false" />              <!-- 从数据库返回的值被清理前后的空格 -->              <property name="trimStrings" value="true" />          </javaModelGenerator>                  <!-- targetProject:XXXMapper.xml映射文件生成的路径 -->          <sqlMapGenerator targetProject=".\src" targetPackage="com.atguigu.mybatis.mapper">              <!-- enableSubPackages:是否让schema作为包的后缀 -->              <property name="enableSubPackages" value="false" />          </sqlMapGenerator>                    <!-- targetPackage:Mapper接口生成的位置 -->          <javaClientGenerator type="XMLMAPPER" targetProject=".\src" targetPackage="com.atguigu.mybatis.mapper">              <!-- enableSubPackages:是否让schema作为包的后缀 -->              <property name="enableSubPackages" value="false" />          </javaClientGenerator>                    <!-- 数据库表名字和我们的entity类对应的映射指定 -->          <table tableName="orders" domainObjectName="Orders"/>          <table tableName="user" domainObjectName="User"/>                    <!-- 有些表的字段需要指定java类型           <table schema="" tableName="">              <columnOverride column="" javaType="" />          </table> -->     </context></generatorConfiguration>
4.配置log4j.properties:
log4j.rootLogger= DEBUG, Console#Consolelog4j.appender.Console= org.apache.log4j.ConsoleAppenderlog4j.appender.Console.layout= org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern= %d [%t] %-5p [%c] - %m%nlog4j.logger.java.sql.ResultSet= INFOlog4j.logger.org.apache= INFOlog4j.logger.java.sql.Connection= DEBUGlog4j.logger.java.sql.Statement= DEBUGlog4j.logger.java.sql.PreparedStatement= DEBUG
5.在逆向工程的工具方法中(官方文档直接拷贝即可):
public class Mbg_GeneratorUtil{     public void generator() throws Exception{          List<String> warnings = new ArrayList<String>();          boolean overwrite = true;          //指定 逆向工程配置文件          File configFile = new File("generatorConfig.xml");          ConfigurationParser cp = new ConfigurationParser(warnings);          Configuration config = cp.parseConfiguration(configFile);          DefaultShellCallback callback = new DefaultShellCallback(overwrite);          MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback, warnings);          myBatisGenerator.generate(null);     }          public static void main(String[] args) throws Exception {          try {              new Mbg_GeneratorUtil().generator();          } catch (Exception e) {              e.printStackTrace();          }     }}
6.上面的配置完成之后运行刷新即可自动完成XXXmapper,XXXmapper.xml,entity的类和对应的方法。
原创粉丝点击