Mybatis-generator 逆向工程

Mybatis-generator 由Mybatis提供的一個根據數據庫表自動生成mapper.java(dao)、mapper.xml、javabean(pojo)的工具,一般有3種使用方式:1.使用命令行;2.使用java工程;3.使用ide插件。
因爲第三種方式需和ide配合使用,不具備通用性,所以建議學習使用前兩種方式。以下是第一種,使用命令行的方式來使用Mybatis-generator工具:

一、環境配置:

1.需要準備以下兩樣東西:

  • Mysql連接驅動
  • Mybatis-generator

這裏不能上傳文件,所以大家可以去自行搜索下載。
Mybatis-generator下載下來的壓縮包,解壓lib文件夾中的核心jar包備用:
這裏寫圖片描述這裏寫圖片描述

2.數據庫:

這裏寫圖片描述

這裏寫圖片描述

SQL創建語句:

/*
SQLyog Ultimate v8.32 
MySQL - 5.5.36 : Database - mybatis
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
/*Table structure for table `users` */

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `NAME` varchar(20) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

3.創建生成文件存放位置:

例如我在E盤下,建立了一個文件夾:generator,其中包含一個src文件夾,用來存放生成的文件。還包含了Mybatis-generator的核心包和一個mysql的連接驅動包以及最重要的Mybatis-generator的配置文件generator.xml。文件夾名和存放位置都可以隨意更改,只需要修改generator.xml中指定的位置就行了,但是爲了方便建議文件結構如下設置:

這裏寫圖片描述

二、generator.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>
    <!-- 數據庫驅動包位置 -->
    <classPathEntry location="E:\generator\mysql-connector-java-5.0.5-bin.jar" /> 
    <!-- <classPathEntry location="C:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar" />--> 
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!-- 數據庫鏈接URL、用戶名、密碼 -->
         <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8" userId="root" password="123"> 
        <!--<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@localhost:1521:orcl" userId="msa" password="msa">-->
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
        <!-- 生成model的包名和位置 -->
        <javaModelGenerator targetPackage="test.model" targetProject="E:\generator\src">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- 如使用spring的自動掃描mapper映射文件,可將mapper.xml和mapper.java放在同一個包下,如果使用springboot建議分開存放 -->
        <!-- 生成的mapper.xml包名和位置 -->
        <sqlMapGenerator targetPackage="test.mapper" targetProject="E:\generator\src">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
        <!-- 生成mapper.java的包名和位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="test.mapper" targetProject="E:\generator\src">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
        <!-- 要生成那些表,更改tableName(表名)和domainObjectName(生成的model名)就可以了 -->
        <table tableName="users" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
    </context>
</generatorConfiguration>

三、生成文件:

1.進入命令行控制檯,輸入e:——>回車——>cd generator——>回車 進入之前創建的E盤下的generator文件夾:

這裏寫圖片描述

2.輸入命令:java -jar mybatis-generator-core-1.3.3.jar -configfile generator.xml -overwrite,執行程序:

這裏寫圖片描述

3.執行成功

這裏寫圖片描述

src文件夾下就可以看到生成的文件了,將生成的文件拷貝到項目中,就可以使用了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章