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

Mybatis Plus插件三種方式的逆向工程的使用

 更新時間:2020年11月02日 11:11:28   作者:知了一笑  
這篇文章主要介紹了Mybatis Plus插件三種方式的逆向工程的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文源碼:GitHub·點(diǎn)這里 || GitEE·點(diǎn)這里

一、逆向工程簡介

在Java開發(fā)中,持久層最常用的框架就是mybatis,該框架需要編寫sql語句,mybatis官方提供逆向工程,可以把數(shù)據(jù)表自動生成執(zhí)行所需要的基礎(chǔ)代碼,例如:mapper接口,sql映射文件,pojo實(shí)體類等,避免基礎(chǔ)代碼維護(hù)的繁雜過程。

在實(shí)際的使用中,常用的逆向工程方式如上,mybatis框架,mybatis-plus框架,插件方式。

二、Mybatis方式

1、基礎(chǔ)描述

基于xml配置的方式,生成mybatis基礎(chǔ)代碼,包括mapper接口,Mapper映射文件,pojo實(shí)體類,PojoExample條件工具類。

2、配置文件

注意這里的targetProject需要配置自定義路徑位置。

<?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">
		<commentGenerator>
			<!-- 是否去除自動生成的注釋 true:是 : false:否 -->
			<property name="suppressAllComments" value="true"/>
			<property name="suppressDate" value="false"/>
			<!-- 是否添加數(shù)據(jù)表中字段的注釋 true:是 : false:否 -->
			<property name="addRemarkComments" value="true"/>
		</commentGenerator>

		<!--數(shù)據(jù)庫的信息:驅(qū)動類、連接地址、用戶名、密碼 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://localhost:3306/defined-log?tinyInt1isBit=false"
			userId="root" password="123456">
		</jdbcConnection>

		<!--
			默認(rèn)false,把JDBC decimal 和 numeric 類型解析為 Integer
		  設(shè)置true時把JDBC decimal 和 numeric 類型解析為BigDecimal
		-->
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>

		<!-- 生成POJO類的位置 -->
		<javaModelGenerator targetPackage="com.generator.mybatis.pojo"
			targetProject="存放路徑">
			<property name="enableSubPackages" value="true" />
			<property name="trimStrings" value="true" />
		</javaModelGenerator>

		<!-- 生成Mapper映射文件的位置 -->
		<sqlMapGenerator targetPackage="com.generator.mybatis.xml"
			targetProject="存放路徑">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>

		<!-- 生成Mapper接口的位置 -->
		<javaClientGenerator type="XMLMAPPER" targetPackage="com.generator.mybatis.mapper"
			targetProject="存放路徑">
			<property name="enableSubPackages" value="true" />
		</javaClientGenerator>

		<!-- 指定數(shù)據(jù)庫表 -->
		<table schema="" tableName="dt_defined_log" domainObjectName="DefinedLog"/>

	</context>
</generatorConfiguration>

3、啟動類

讀取配置文件,并執(zhí)行。

public class GeneratorMybatis {

  public void generator() throws Exception {
    List<String> warnings = new ArrayList<String>();
    boolean overwrite = true;
    File configFile = Resources.getResourceAsFile("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 {
      GeneratorMybatis generatorMybatis = new GeneratorMybatis();
      generatorMybatis.generator();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

三、MybatisPlus方式

1、基礎(chǔ)描述

MybatisPlus相比Mybatis提供更多增強(qiáng)的能力,單表操作基本都封裝好了,所以生成的mapper映射文件簡潔很多,需要注意ServiceImpl關(guān)鍵類和BaseMapper接口。

2、核心啟動類

這里的配置可以基于很多自定義的策略,案例生成的代碼已經(jīng)傳到倉庫,可以自行下載查看。

public class GeneratorMybatisPlus {

  public static void main(String[] args) {
    // 代碼生成器
    AutoGenerator autoGenerator = new AutoGenerator();
    // 全局配置
    GlobalConfig globalConfig = new GlobalConfig();
    //生成文件的輸出目錄
    String path="存放路徑";
    globalConfig.setOutputDir(path);
    // Author設(shè)置作者
    globalConfig.setAuthor("mybatis-plus");
    // 文件覆蓋
    globalConfig.setFileOverride(true);
    // 生成后打開文件
    globalConfig.setOpen(false);
    // 自定義文件名風(fēng)格,%s自動填充表實(shí)體屬性
    globalConfig.setMapperName("%sMapper");
    globalConfig.setXmlName("%sMapper");
    globalConfig.setServiceName("%sDao");
    globalConfig.setServiceImplName("%sDaoImpl");
    globalConfig.setEntityName("%s");
    globalConfig.setControllerName("%sController");
    autoGenerator.setGlobalConfig(globalConfig);

    // 數(shù)據(jù)源配置
    DataSourceConfig dataSourceConfig = new DataSourceConfig();
    dataSourceConfig.setDbType(DbType.MYSQL);
    dataSourceConfig.setTypeConvert(new MySqlTypeConvert());
    dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/defined-log?tinyInt1isBit=false");
    dataSourceConfig.setDriverName("com.mysql.jdbc.Driver");
    dataSourceConfig.setUsername("root");
    dataSourceConfig.setPassword("123456");
    autoGenerator.setDataSource(dataSourceConfig);

    // 包名配置
    PackageConfig packageConfig = new PackageConfig();
    // 父包和子包名分開處理
    packageConfig.setParent("com.generator.mybatis.plus");
    packageConfig.setController("web");
    packageConfig.setEntity("pojo");
    packageConfig.setMapper("mapper");
    packageConfig.setService("dao");
    packageConfig.setServiceImpl("dao.impl");
    autoGenerator.setPackageInfo(packageConfig);

    // 生成策略配置
    StrategyConfig strategy = new StrategyConfig();
    //設(shè)置命名格式
    strategy.setNaming(NamingStrategy.underline_to_camel);
    strategy.setColumnNaming(NamingStrategy.underline_to_camel);
    // 實(shí)體是否為lombok模型,默認(rèn) false
    strategy.setEntityLombokModel(true);
    //生成 @RestController 控制器
    strategy.setRestControllerStyle(true);
    // 駝峰轉(zhuǎn)連字符
    strategy.setControllerMappingHyphenStyle(true);
    //表和前綴處理
    strategy.setInclude("dt_defined_log".split(","));
    String[] tablePre = new String[]{"dt_"};
    strategy.setTablePrefix(tablePre);
    autoGenerator.setStrategy(strategy);
    // 執(zhí)行,以上相關(guān)參數(shù)可以基于動態(tài)輸入獲取
    autoGenerator.execute();
  }
}

該方式是當(dāng)前mybatis框架最流行的開發(fā)方式,代碼會簡潔很多。

四、插件工具

1、配置數(shù)據(jù)庫

這里選擇MySQL數(shù)據(jù)源,后續(xù)根據(jù)提示需要下載驅(qū)動配置。

2、連接配置

Url地址,賬號,密碼,獲取連接。

3、插件使用

這里選擇的是安裝EasyCode插件。

根據(jù)配置,生成逆向工程文件,整體思路和上述兩種方式一致。

五、源代碼地址

GitHub·地址https://github.com/cicadasmile/data-manage-parent

GitEE·地址https://gitee.com/cicadasmile/data-manage-parent

到此這篇關(guān)于Mybatis Plus插件三種方式的逆向工程的使用的文章就介紹到這了,更多相關(guān)Mybatis Plus 逆向工程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring?中的?Service?有多個實(shí)現(xiàn)類如何注入(多種方式)

    Spring?中的?Service?有多個實(shí)現(xiàn)類如何注入(多種方式)

    這篇文章主要介紹了Spring?中的?Service?有多個實(shí)現(xiàn)類如何注入,本文通過多種方式結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • 詳解Java中while和do-while循環(huán)、break的使用

    詳解Java中while和do-while循環(huán)、break的使用

    本文介紹了循環(huán)結(jié)構(gòu)語句while和do-while循環(huán)、break的使用,while循環(huán)語句通過流程圖和語法語句結(jié)合一個求1~10的整數(shù)和的例子來幫助大家理解while循環(huán)的用法,感興趣的朋友跟隨小編來看看吧
    2020-11-11
  • maven工程打包引入本地jar包的實(shí)現(xiàn)

    maven工程打包引入本地jar包的實(shí)現(xiàn)

    我們需要將jar包發(fā)布到一些指定的第三方Maven倉庫,本文主要介紹了maven工程打包引入本地jar包的實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Mybatis-Plus接口BaseMapper與Services使用詳解

    Mybatis-Plus接口BaseMapper與Services使用詳解

    這篇文章主要為大家介紹了Mybatis-Plus接口BaseMapper與Services使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • SpringBoot項目實(shí)現(xiàn)短信發(fā)送接口開發(fā)的實(shí)踐

    SpringBoot項目實(shí)現(xiàn)短信發(fā)送接口開發(fā)的實(shí)踐

    本文主要介紹了SpringBoot項目實(shí)現(xiàn)短信發(fā)送接口開發(fā)的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Java找不到或無法加載主類及編碼錯誤問題的解決方案

    Java找不到或無法加載主類及編碼錯誤問題的解決方案

    今天小編就為大家分享一篇關(guān)于Java找不到或無法加載主類及編碼錯誤問題的解決方案,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Spring中的模塊與應(yīng)用場景詳解

    Spring中的模塊與應(yīng)用場景詳解

    這篇文章主要介紹了Spring中的模塊與應(yīng)用場景詳解,Spring 框架可以為 Java 應(yīng)用程序開發(fā)提供全面的基礎(chǔ)設(shè)施支持,它是現(xiàn)在非常流行的 Java 開源框架,對于一個 Java 開發(fā)人員來說,熟練掌握 Spring 是必不可少的,需要的朋友可以參考下
    2023-09-09
  • JAVA調(diào)用JavaScript方法舉例詳解

    JAVA調(diào)用JavaScript方法舉例詳解

    之前在一次機(jī)緣巧合的情況下,需要時用JAVA執(zhí)行js方法,查閱了一些文檔,找到了相關(guān)解決方法,這里和大家分享一下,下面這篇文章主要給大家介紹了關(guān)于JAVA調(diào)用JavaScript方法的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • Java中ArrayList在foreach里remove的問題詳析

    Java中ArrayList在foreach里remove的問題詳析

    這篇文章主要給大家介紹了關(guān)于Java中ArrayList在foreach里remove問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧
    2018-09-09
  • SpringCloud Feign的使用簡介

    SpringCloud Feign的使用簡介

    這篇文章主要介紹了SpringCloud Feign的使用簡介,幫助大家更好的理解和學(xué)習(xí)使用SpringCloud,感興趣的朋友可以了解下
    2021-04-04

最新評論

厦门市| 新巴尔虎左旗| 新民市| 盐城市| 彰化市| 赤水市| 百色市| 宝兴县| 东丽区| 成武县| 舟曲县| 遂溪县| 莱阳市| 凤台县| 九龙城区| 纳雍县| 缙云县| 石林| 阿巴嘎旗| 河源市| 伽师县| 胶南市| 四子王旗| 玉环县| 宜都市| 衡阳县| 铜山县| 海丰县| 九龙坡区| 六枝特区| 军事| 汉川市| 新安县| 建德市| 疏勒县| 清水县| 中卫市| 龙川县| 麻城市| 丹东市| 新竹市|