最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用MyBatis快速生成代碼的幾種方法

 更新時間:2023年12月07日 11:07:51   作者:魚辭  
本文主要介紹了如何使用MyBatis快速生成代碼的幾種方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、使用MyBatis插件和EasyCdoe插件

1. 安裝插件

打開IDEA  > settings > Plugins > Marketplace
安裝Free MyBatis Plugin 和 Easy Code 兩個插件

在這里插入圖片描述

2. IDEA里配置MySQL

2.1 選擇DataSource >MySQL

在這里插入圖片描述

2.2 連接到MySQL數(shù)據

在這里插入圖片描述

3.根據數(shù)據庫表生成文件

3.1 連接MySQL成功界面如下。

選中需要生成文件的表,右擊EasyCode > Generate Code

在這里插入圖片描述

3.2 選擇package和path,會將生成的文件放在你選擇的路徑下,需要什么類型的文件在template中選中,然后開始生成。

在這里插入圖片描述

3.3 生成成功

在這里插入圖片描述

二、mybatis-generator快速生成代碼

將mybatis-generator配置到項目里,將文件直接生成到指定的目錄。

1. 配置generatorConfig.xml

在項目src/main/resources 下新建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>
    <!-- mysql-connector-java 版本需要與pom中引得版本一致 -->
    <classPathEntry location="C:\.m2\repository\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar" />

    <context id="DB2Tables" targetRuntime="MyBatis3">

        <!-- 不加注釋,因為默認注釋是英文的 -->
        <commentGenerator>
            <property name="addRemarkComments" value="true"/>
            <property name="suppressDate" value="true"/>
        </commentGenerator>

        <!-- 數(shù)據庫連接信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/sqmall?characterEncoding=utf-8&amp;useSSL=false&amp;serverTimezone=UTC"
                        userId="root"
                        password="root">
        </jdbcConnection>

        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- targetPackage 文件生成在指定包下,targetProject 路徑-->
        <javaModelGenerator targetPackage="com.seven.mall.entity" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="mappers"  targetProject="src/main/resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER" targetPackage="com.seven.mall.dao"  targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!-- domainObjectName 即生成后entity的名字 -->
        <table tableName = "mall_category" domainObjectName="Category" />
        <table tableName = "mall_order" domainObjectName="Order" />

    </context>
</generatorConfiguration>

2. pom.xml中配置mybatis-generator

<!-- dependency和plugin中jar的版本根據自己需求選擇,但同一個jar版本要保持一致 -->
<!-- 配置在dependencies中 -->
<dependency>
	<groupId>org.mybatis.generator</groupId>
	<artifactId>mybatis-generator-core</artifactId>
	<version>1.3.7</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.6</version>
</dependency>
   <!-- 配置在plugins中 -->
<plugin>
	<groupId>org.mybatis.generator</groupId>
	<artifactId>mybatis-generator-maven-plugin</artifactId>
	<version>1.3.7</version>
	<configuration>
	    <overwrite>true</overwrite>   <!-- 重復生成時覆蓋掉上次生成的文件 -->
	</configuration>
</plugin>

3. 輸入命令生成文件

在IDEA Terminal 或者打開命令行切換至項目路徑
輸入命令 mvn mybatis-generator:generate 回車即可

在這里插入圖片描述

在這里插入圖片描述

4. 成功生成

在這里插入圖片描述

三、使用工具項目生成代碼

介紹

其實第三種方法和第二種是一樣的都是使用mybatis-generator生成。

第二種方法需要在自己的項目中配置一些東西

第三種方法是將這些配置,jar之類的東西拿出來做成一個項目,當作工具來用,使用時只需要修改表名和生成的package路徑即可。

1. 下載工具項目

https://wwa.lanzoui.com/iG2Ent9yv5i

這個項目和第二種方法生成出來的java文件基本是一模一樣的。

但是我在mybatis-generator-core-1.3.2.jar\org\mybatis\generator\plugins\里加了一個名稱: LombokPlugin.class。會給生成的entity加上注解,這樣就不需要寫getter、setter和toString方法了.

當然了,如果不使用lombok,那么可以刪掉這個class或者刪除生成后的注解。

2. IDEA打開項目,修改配置文件

2.1 修改文件生成的位置

在這里插入圖片描述

2.2 指定數(shù)據庫表

在這里插入圖片描述

3. 運行并生成文件

3.1 運行GeneratorSqlmap的main方法

在這里插入圖片描述

3.2 生成成功

大功告成

在這里插入圖片描述

4. 關于mybatis-generator-core中添加lombok

  • 取下面的代碼,編譯為class文件:LombokPlugin.class
  • 用解壓軟件打開mybatis-generator-core-1.3.2.jar
  • 把編譯好的class文件放到org\mybatis\generator\plugins\下即可

感興趣的小伙伴可以自己去試一下

代碼如下:

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package org.mybatis.generator.plugins;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.PluginAdapter;
import org.mybatis.generator.api.Plugin.ModelClassType;
import org.mybatis.generator.api.dom.java.Interface;
import org.mybatis.generator.api.dom.java.Method;
import org.mybatis.generator.api.dom.java.TopLevelClass;

public class LombokPlugin extends PluginAdapter {
    public LombokPlugin() {
    }

    public boolean validate(List<String> list) {
        return true;
    }

    public boolean modelBaseRecordClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
        topLevelClass.addImportedType("lombok.Data");
        topLevelClass.addImportedType("lombok.Builder");
        topLevelClass.addImportedType("lombok.NoArgsConstructor");
        topLevelClass.addImportedType("lombok.AllArgsConstructor");
        topLevelClass.addAnnotation("@Data");
        topLevelClass.addJavaDocLine("/**");
        topLevelClass.addJavaDocLine("* Created by Mybatis Generator on " + this.date2Str(new Date()));
        topLevelClass.addJavaDocLine("*/");
        return true;
    }

    public boolean clientGenerated(Interface interfaze, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
        interfaze.addJavaDocLine("/**");
        interfaze.addJavaDocLine("* Created by Mybatis Generator on " + this.date2Str(new Date()));
        interfaze.addJavaDocLine("*/");
        return true;
    }

    public boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {
        return false;
    }

    public boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {
        return false;
    }

    private String date2Str(Date date) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        return sdf.format(date);
    }
}

以上就是使用MyBatis快速生成代碼的幾種方法的詳細內容,更多關于MyBatis生成代碼的資料請關注腳本之家其它相關文章!

相關文章

  • java對象拷貝詳解及實例

    java對象拷貝詳解及實例

    這篇文章主要介紹了java對象拷貝詳解及實例的相關資料,需要的朋友可以參考下
    2017-04-04
  • elasticsearch聚合查詢實踐示例

    elasticsearch聚合查詢實踐示例

    這篇文章主要為大家介紹了elasticsearch聚合查詢實踐示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • springcloud整合到項目中無法啟動報錯Failed to start bean 'eurekaAutoServiceRegistration'

    springcloud整合到項目中無法啟動報錯Failed to start bean&n

    這篇文章主要介紹了springcloud整合到項目中無法啟動報錯Failed to start bean 'eurekaAutoServiceRegistration'問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Spring Mvc中傳遞參數(shù)方法之url/requestMapping詳解

    Spring Mvc中傳遞參數(shù)方法之url/requestMapping詳解

    在開發(fā)中,參數(shù)傳遞是必不可少的一個功能,下面這篇文章主要給大家介紹了關于Spring Mvc中傳遞參數(shù)方法之url/requestMapping的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • MyBatis入門實例教程之創(chuàng)建一個簡單的程序

    MyBatis入門實例教程之創(chuàng)建一個簡單的程序

    這篇文章主要介紹了MyBatis入門創(chuàng)建一個簡單的程序,在?MySQL?中創(chuàng)建數(shù)據庫?mybatisdemo,編碼為?utf8,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • 詳解springmvc攔截器攔截靜態(tài)資源

    詳解springmvc攔截器攔截靜態(tài)資源

    本篇文章主要介紹了詳解springmvc攔截器攔截靜態(tài)資源,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-01-01
  • java實現(xiàn)兩個文件的異或運算

    java實現(xiàn)兩個文件的異或運算

    這篇文章主要為大家詳細介紹了java實現(xiàn)兩個文件的異或運算,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Java并發(fā)編程之ReentrantLock實現(xiàn)原理及源碼剖析

    Java并發(fā)編程之ReentrantLock實現(xiàn)原理及源碼剖析

    ReentrantLock 是常用的鎖,相對于Synchronized ,lock鎖更人性化,閱讀性更強,文中將會詳細的說明,請君往下閱讀
    2021-09-09
  • 云計算實驗:Java?MapReduce編程

    云計算實驗:Java?MapReduce編程

    這篇文章主要介紹了云計算實驗:Java?MapReduce編程,?居于Java圍繞MapReduce編程展開詳細內容,文章助大家掌握MapReduce編程,理解MapReduce原理,需要的朋友可以參考一下
    2021-12-12
  • Spring boot詳解緩存redis實現(xiàn)定時過期方法

    Spring boot詳解緩存redis實現(xiàn)定時過期方法

    本篇文章分享的就是spring boot中的一個輪子,spring cache注解的方式實現(xiàn)接口數(shù)據緩存。默認的配置想非常簡單,但是有一個弊端是緩存數(shù)據為永久緩存,本次將介紹如何設置接口緩存數(shù)據的過期時間
    2022-07-07

最新評論

安福县| 宽甸| 阜城县| 扎兰屯市| 古蔺县| 文成县| 堆龙德庆县| 福海县| 五莲县| 鄱阳县| 宁远县| 舞钢市| 桐柏县| 惠安县| 方正县| 池州市| 长宁区| 思南县| 郯城县| 平顶山市| 青铜峡市| 建水县| 张家界市| 宣汉县| 德兴市| 修水县| 五大连池市| 海门市| 师宗县| 永丰县| 民丰县| 建瓯市| 玛多县| 闽清县| 内丘县| 临朐县| 剑河县| 运城市| 邵阳县| 加查县| 黄浦区|