便捷開發之mybatis逆向工程

前言

所謂mybatis逆向工程,就是mybatis會根據咱們設計好的數據表,自動生成pojo、mapper、mapper.xml以及example類(用於添加條件,至關where語句後面的部分 ),咱們在開發的過程操做多個表,一個個去寫pojo類就已經夠麻煩了。經過mybatis逆向工程能夠把基本的配置自動完成,省了許多事,固然自動生成的代碼一般與業務相差甚遠,我基本用來生成pojo類,也能夠都生成,根據本身須要進行選擇。下面正式開始介紹mybatis官方提供的MyBatis Generator用來完成逆向工程工做。php

MyBatis Generator簡介

MyBatis Generator(MBG)是MyBatis MyBatisiBATIS的代碼生成器。它將爲全部版本的MyBatis以及2.2.0以後的iBATIS版本生成代碼。這將減小在設置對象、配置文件以及數據庫表交互方面的麻煩。MBG尋求對數據庫進行簡單的CRUD(增,查,改,刪)操做,但仍須要爲鏈接查詢或存儲過程手動編寫SQL和對象代碼。html

實現逆向工程

在實現逆向工程以前,須要準備相應jar或maven依賴。java

jar包

maven依賴
<dependency>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-core</artifactId>
			<version>1.3.2</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.28</version>
		</dependency>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.2.3</version>
		</dependency>
複製代碼

環境準備好後,開始配置MyBatis Generator配置文件,主要配置數據庫裏鏈接和存放路徑,xml配置文件中均已註釋,官網MyBatis Generator配置文件mysql

MyBatis Generator配置文件
<?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="DB2Tables" targetRuntime="MyBatis3">

        <commentGenerator>
            <!-- suppressAllComments屬性值: true:自動生成實體類、SQL映射文件時沒有註釋 true:自動生成實體類、SQL映射文件,並附有註釋 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/generator" userId="root" password="123456">
        </jdbcConnection>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
        <!-- 指定javaBean的生成位置 -->
        <javaModelGenerator targetPackage="web.data" targetProject="./src.main.java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- 指定sql映射文件生成位置 -->
        <sqlMapGenerator targetPackage="web.mapper" targetProject="./src.main.java">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
        <!-- 指定dao接口的生成位置,mapper接口 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="web.dao" targetProject="./src.main.java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
        <!-- 指定每一個表的生成策略 -->
        <table tableName="cc_cfxx" domainObjectName="cfxx"></table>
    </context>
</generatorConfiguration>
複製代碼

MyBatis Generator配置文件準備好後,執行java實現類的main方法即可生成相關代碼,官網java實現類web

Java實現類
public static void main(String[] args) throws Exception {
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        File configFile = new File("mybatis-generator.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);
    }
複製代碼

實現效果

效果圖

總結

mybatis是目前很流行的持久層框架,在使用這個框架中,編寫Mapping的映射文件工做量很大,而且手動書寫很容易出錯,咱們能夠利用Mybatis-Generator來幫咱們自動生成文件,大大縮減了咱們的開發時間。sql

相關文章
相關標籤/搜索