Mybits 逆向工程

     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.jar
mybatis-3.2.3.jar
mybatis-generator-core-1.3.2-javadoc.jar
mybatis-generator-core-1.3.2-sources.jar
mybatis-generator-core-1.3.2.jar
mysql-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
#Console
log4j.appender.Console= org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout= org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern= %d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet= INFO
log4j.logger.org.apache= INFO
log4j.logger.java.sql.Connection= DEBUG
log4j.logger.java.sql.Statement= DEBUG
log4j.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的类和对应的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员学习圈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值