亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MyBatis?Generator?ORM層面的代碼自動生成器(推薦)

 更新時間:2023年01月30日 15:48:58   作者:_小許_  
Mybatis?Generator是一個專門為?MyBatis和?ibatis框架使用者提供的代碼生成器,也可以快速的根據數據表生成對應的pojo類、Mapper接口、Mapper文件,甚至生成QBC風格的查詢對象,這篇文章主要介紹了MyBatis?Generator?ORM層面的代碼自動生成器,需要的朋友可以參考下

在日常開發(fā)工作中,我們往往需要自己去構建各種數據表所對應的持久化對象(POJO)、用于操作數據庫的接口(DAO)以及跟 DAO 所綁定的對應 XML。這都是一些重復性的操作,不需要多大技術含量。MyBatis Generator工具,能夠幫助我們去自動生成這些文件。

MyBatis Generator 簡介

作為一個基于 MyBatis 的獨立工具,MyBatis Generator 能夠滿足我們以上的要求,能夠通過簡單的配置去幫我們生成數據表所對應的 POJO、DAO、XML 等文件,減去我們手動去生成這些文件的時間,有效提高開發(fā)效率。MyBatis Generator 運行方式多樣,主要可以通過以下幾種方式來運行:

  • 命令行
  • Ant
  • Maven
  • Java
  • IDE

Mybatis Generator簡稱 MBG,是一個專門為 MyBatis和 ibatis框架使用者提供的代碼生成器。也可以快速的根據數據表生成對應的pojo類、Mapper接口、Mapper文件,甚至生成QBC風格的查詢對象。

MyBatis Generator的使用

使用 MyBatis Generator,需要在項目中配置了數據庫和 MyBatis 的相關依賴。

引入插件

<dependency>         
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency> 
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.25</version>
</dependency>
<!-- mybatis-generator -->
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.7</version>
</dependency>

配置生成器文件

<?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>
<!--targetRuntime="MyBatis3"-->
<context id="mysql" defaultModelType="hierarchical" targetRuntime="MyBatis3Simple">
    <!-- 生成的Java文件的編碼 -->
    <property name="javaFileEncoding" value="UTF-8" />
    <!-- beginningDelimiter和endingDelimiter:指明數據庫的用于標記數據庫對象名的符號,比如ORACLE就是雙引號,MYSQL默認是`反引號; -->
    <property name="beginningDelimiter" value="`" />
    <property name="endingDelimiter" value="`" />

    <!-- 注釋生成器 -->
    <commentGenerator>
        <property name="suppressDate" value="true" />
        <property name="suppressAllComments" value="true" />
    </commentGenerator>

    <!-- 必須要有的,使用這個配置鏈接數據庫 @TODO:是否可以擴展 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                    connectionURL="jdbc:mysql://localhost:3306/mybatis"
                    userId="root"
                    password="1111">
    </jdbcConnection>

    <!-- 生成domain對象 -->
    <javaModelGenerator targetPackage="com.sunny.domain" targetProject="mybatis-11_MBG/src/main/java">
        <property name="enableSubPackages" value="true" />
    </javaModelGenerator>

    <!-- 生成Mapper文件 -->
    <sqlMapGenerator targetPackage="com.sunny.mapper" targetProject="mybatis-11_MBG/\src\main\resources">
        <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>

    <!-- 生成Mapper接口 -->
    <javaClientGenerator targetPackage="com.sunny.mapper" type="XMLMAPPER"
                         targetProject="mybatis-11_MBG/src/main/java">
        <property name="enableSubPackages" value="true" />
    </javaClientGenerator>


    <!-- Table   To   POJO -->
    <!--domainObjectName="User"-->
    <table tableName="user2" delimitIdentifiers="true">
        <property name="useActualColumnNames" value="true" />
        <generatedKey column="id" sqlStatement="JDBC" />
    </table>
  
</context>
</generatorConfiguration>

配置文件極為重要,對應數據庫表生成POJO對象的映射關系由配置文件完成。

運行配置文件

在這里插入圖片描述

Java代碼運行:

public class Generator {
	public static void main(String[] args) throws Exception {
		//MBG執(zhí)行過程中的警告信息
		List<String> warnings = new ArrayList<String>();
		//生成代碼重復時,是否覆蓋源代碼
		boolean override = false;
		InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("generatorConfig.xml");
		ConfigurationParser cp = new ConfigurationParser(warnings);
		Configuration config = cp.parseConfiguration(in);

		DefaultShellCallback callback = new DefaultShellCallback(override);
		//創(chuàng)建MBG
		MyBatisGenerator mbg = new MyBatisGenerator(config, callback, warnings);
		mbg.generate(null);
		//輸出警告信息
		for (String warn : warnings) {
			System.out.println(warn);
		}
	}
}

通過Maven插件運行:

如果使用Maven插件,那么不需要引入mybatis-generator-core依賴,只需要引入一個Maven的插件mybatis-generator-maven-plugin

<plugins>
    <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.4.0</version>
        <executions>
            <execution>
                <id>Generate MyBatis Artifacts</id>
                <goals>
                    <goal>generate</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <!-- 輸出詳細信息 -->
            <verbose>true</verbose>
            <!-- 覆蓋生成文件 -->
            <overwrite>true</overwrite>
            <!-- 定義配置文件 -->
            <configurationFile>${basedir}/src/main/resources/generator-configuration.xml</configurationFile>
        </configuration>
    </plugin>
</plugins>

通過mvn mybatis-generator:generate運行,或者IDE一鍵運行。

參考文獻:

Mybatis代碼生成器Mybatis-Generator使用詳解感謝作者!

MyBatis Generator 超詳細配置感謝作者!

到此這篇關于MyBatis Generator ORM層面的代碼自動生成器的文章就介紹到這了,更多相關MyBatis Generator 代碼自動生成器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • springboot2.x 接入阿里云市場短信發(fā)送的實現(xiàn)

    springboot2.x 接入阿里云市場短信發(fā)送的實現(xiàn)

    本文主要介紹了springboot2.x 接入阿里云市場短信發(fā)送的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Messges Queue消息隊列詳解

    Messges Queue消息隊列詳解

    這篇文章主要介紹了Messges Queue消息隊列詳解,消息隊列一般簡稱為 MQ,是指利用高效可靠的消息傳遞機制進行與平臺無關的數據交流,并基于數據通信來進行分布式系統(tǒng)的集成,是在消息的傳輸過程中保存消息的容器,需要的朋友可以參考下
    2023-07-07
  • Java Spring 中 @PostConstruct 注解使用原理及常見場景

    Java Spring 中 @PostConstruct 注解使用原理及常見場景

    在 Java Spring 中,@PostConstruct 注解是一個非常實用的功能,它允許開發(fā)者在 Spring 容器完全初始化 Bean 后執(zhí)行某些操作,本文將詳細介紹 @PostConstruct 注解的使用,包括其原理、常見場景和代碼示例,
    2025-04-04
  • 詳解Java實現(xiàn)LRU緩存

    詳解Java實現(xiàn)LRU緩存

    這篇文章主要介紹了詳解Java實現(xiàn)LRU緩存,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • java用split分割字符串的一個有趣現(xiàn)象

    java用split分割字符串的一個有趣現(xiàn)象

    最近在項目中使用了java中的split分割字符串,發(fā)現(xiàn)了一個bug,充分了展示了自己對java底層的認知有很多的不足和欠缺。下面將這次的經過總結出來分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • Jmeter關聯(lián)實現(xiàn)及參數化使用解析

    Jmeter關聯(lián)實現(xiàn)及參數化使用解析

    這篇文章主要介紹了Jmeter關聯(lián)實現(xiàn)及參數化使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • SpringBoot多租戶配置與實現(xiàn)示例

    SpringBoot多租戶配置與實現(xiàn)示例

    本文詳細介紹了在SpringBoot中實現(xiàn)多租戶架構的方法和步驟,包括配置數據源、Hibernate攔截器、租戶解析器等,以共享數據庫、共享數據表的方式,確保數據隔離和安全性,感興趣的可以了解一下
    2024-09-09
  • Java和C的隨機數(Random)詳解

    Java和C的隨機數(Random)詳解

    本篇文章主要介紹了Java和C隨機數(Random),現(xiàn)在分享給大家,也給大家做個參考,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-09-09
  • Spring?MVC異步上傳、跨服務器上傳和文件下載功能實現(xiàn)

    Spring?MVC異步上傳、跨服務器上傳和文件下載功能實現(xiàn)

    這篇文章主要介紹了Spring?MVC異步上傳、跨服務器上傳和文件下載功能實現(xiàn),本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • Java中的五種引用類型詳解

    Java中的五種引用類型詳解

    Java中的五種引用類型:強引用、軟引用、弱引用、虛引用和Final引用,分別用于管理對象的生命周期,幫助垃圾回收器更高效地回收不再使用的對象
    2024-12-12

最新評論