成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

利用mybatis-plus怎么實(shí)現(xiàn)一個(gè)代碼自動(dòng)生成功能-創(chuàng)新互聯(lián)

本篇文章為大家展示了利用mybatis-plus怎么實(shí)現(xiàn)一個(gè)代碼自動(dòng)生成功能,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)建站專注于武岡企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城開發(fā)。武岡網(wǎng)站建設(shè)公司,為武岡等地區(qū)提供建站服務(wù)。全流程按需求定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

使用 mybatis-plus 工具自動(dòng)給我們生成 Controller、Service、Entity、Mapper、Mapper.xml 層代碼

要求:

① 生成的Controller類,需要繼承 BaseController

② 生成的Entity 類,需要繼承 BaseEntity

③ 生成的 Service,默認(rèn)名稱下是以 I 開頭的接口, 在生成Service層代碼中需要把這個(gè) I 去掉

二、實(shí)現(xiàn)步驟

① 在數(shù)據(jù)庫(kù)中創(chuàng)建好 數(shù)據(jù)庫(kù) 與 要生成代碼對(duì)應(yīng)的表

這里拿 user 表舉例

DROP TABLE IF EXISTS user;
 
CREATE TABLE user
(
 id BIGINT(20) NOT NULL COMMENT '主鍵ID',
 name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
 age INT(11) NULL DEFAULT NULL COMMENT '年齡',
 email VARCHAR(50) NULL DEFAULT NULL COMMENT '郵箱',
 PRIMARY KEY (id)
);
 
DELETE FROM user;
 
INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');

② 創(chuàng)建 一個(gè)SpringBoot 項(xiàng)目,其中 pom.xml 內(nèi)容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.11.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <groupId>com.lcy</groupId>
  <artifactId>mybatis-plus-demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>mybatis-plus-demo</name>
  <description>Demo project for Spring Boot</description>
 
  <properties>
    <java.version>1.8</java.version>
  </properties>
 
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
 
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
 
    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>3.3.0</version>
    </dependency>
 
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.35</version>
    </dependency>
 
    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-generator</artifactId>
      <version>3.3.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.velocity</groupId>
      <artifactId>velocity-engine-core</artifactId>
      <version>2.1</version>
    </dependency>
  </dependencies>
 
  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
 
</project>

③ 創(chuàng)建代碼生成類

package com.lcy.demo.generator;
 
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
 
public class MysqlGenerator {
  public static void main(String[] args) {
    AutoGenerator mpg = new AutoGenerator();
 
    GlobalConfig gc = new GlobalConfig();
    String projectPath = System.getProperty("user.dir");
    gc.setOutputDir(projectPath + "/src/main/java");
    gc.setAuthor("liangcy");  // 作者
    gc.setOpen(false);   //生成代碼后是否打開文件夾
    gc.setServiceName("%sService"); // 設(shè)置Service接口生成名稱,這樣生成接口前面就不會(huì)有 I
    mpg.setGlobalConfig(gc);
 
    DataSourceConfig dsc = new DataSourceConfig();
    dsc.setUrl("jdbc:mysql://localhost:3306/mybatis-plus-demo?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
    dsc.setDriverName("com.mysql.jdbc.Driver");
    dsc.setUsername("root");
    dsc.setPassword("123456");
    mpg.setDataSource(dsc);
 
    // 包配置
    PackageConfig pc = new PackageConfig();
    pc.setModuleName("sys"); // 模塊名稱, 這里可以根據(jù)不同模塊來寫
    pc.setParent("com.lcy.demo"); // 父包名
    mpg.setPackageInfo(pc);
 
    // 策略配置
    StrategyConfig strategy = new StrategyConfig();
    strategy.setNaming(NamingStrategy.underline_to_camel);
    strategy.setColumnNaming(NamingStrategy.underline_to_camel);
    strategy.setSuperControllerClass("com.lcy.demo.sys.controller.BaseController");
    strategy.setSuperEntityClass("com.lcy.demo.sys.entity.BaseEntity");
    strategy.setEntityLombokModel(true);
    strategy.setInclude("user"); // 如果要生成多個(gè),這里可以傳入String[]
    mpg.setStrategy(strategy);
    mpg.execute();
  }
 
}

補(bǔ)充說明:

  • 代碼生成過程中用到了 Lombok 插件, 因此需要在IDEA 中安裝好 Lombok插件

  • 如果我們刪除了生成的代碼, 包名可能會(huì)飄紅, 這時(shí)我們需要 更新一下maven工程,飄紅就會(huì)消失

  • 代碼將生成在我們?cè)O(shè)置的 父包名 + 模塊名中


上述內(nèi)容就是利用mybatis-plus怎么實(shí)現(xiàn)一個(gè)代碼自動(dòng)生成功能,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前題目:利用mybatis-plus怎么實(shí)現(xiàn)一個(gè)代碼自動(dòng)生成功能-創(chuàng)新互聯(lián)
新聞來源:http://jinyejixie.com/article18/jshgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、虛擬主機(jī)、云服務(wù)器、微信小程序搜索引擎優(yōu)化、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
佳木斯市| 唐山市| 塔河县| 石泉县| 林甸县| 碌曲县| 广安市| 永宁县| 息烽县| 平武县| 沂源县| 永安市| 肇源县| 拜城县| 小金县| 杭锦后旗| 沈阳市| 麻栗坡县| 漳平市| 江川县| 南宫市| 南昌市| 简阳市| 特克斯县| 新化县| 成武县| 读书| 太仆寺旗| 诸暨市| 四子王旗| 枝江市| 福州市| 湖州市| 满洲里市| 宝山区| 五大连池市| 尼玛县| 偃师市| 九江县| 湟中县| 桂阳县|