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

MybatisPlus代碼生成器的使用方法詳解

 更新時(shí)間:2021年06月13日 11:46:22   作者:天元白手  
在這里我將展示如何自動(dòng)生成實(shí)體類(lèi)、控制層、服務(wù)層、mapper等代碼,這些基礎(chǔ)的代碼全部不需要我們手動(dòng)創(chuàng)建,由MybatisPlus自動(dòng)幫我們完成,我們只需要告訴MybatisPlus怎么生成這些代碼就可以了,在此之前我們需要配置好測(cè)試的環(huán)境,數(shù)據(jù)庫(kù)和表數(shù)據(jù) ,需要的朋友可以參考下

搭建測(cè)試的數(shù)據(jù)庫(kù)和表數(shù)據(jù)的SQL

/*
 Navicat Premium Data Transfer

 Source Server         : MySQL8.0
 Source Server Type    : MySQL
 Source Server Version : 80022
 Source Host           : localhost:3306
 Source Schema         : mybatisplus

 Target Server Type    : MySQL
 Target Server Version : 80022
 File Encoding         : 65001

 Date: 11/06/2021 17:37:58
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` bigint(0) NOT NULL COMMENT '主鍵ID',
  `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
  `age` int(0) NULL DEFAULT NULL COMMENT '年齡',
  `email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '郵箱',
  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '創(chuàng)建時(shí)間',
  `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改時(shí)間',
  `version` int(0) NULL DEFAULT NULL COMMENT '版本號(hào)',
  `deleted` tinyint(1) NULL DEFAULT NULL COMMENT '用于邏輯刪除',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, 'Jone', 18, 'test1@baomidou.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (2, 'Jack', 20, 'test2@baomidou.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (3, 'Tom', 38, 'test3@baomidou.com', NULL, '2021-04-11 16:13:56', NULL, NULL);
INSERT INTO `user` VALUES (4, 'Sandy', 21, 'test4@baomidou.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (5, 'Billie', 24, 'test5@baomidou.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (1381145367839522818, '李白', 28, 'lucy@qq.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (1381156317133090817, 'lili', 28, 'lucyee@qq.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (1381157235618492418, 'lili', 28, 'lucyee@qq.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (1381158109963096065, 'lili', 28, 'lucyee@qq.com', '2021-04-11 16:12:09', NULL, NULL, NULL);
INSERT INTO `user` VALUES (1381166877736280066, '江小白', 200, 'lucyee@qq.com', '2021-04-11 16:46:59', '2021-04-11 16:51:57', 2, NULL);
INSERT INTO `user` VALUES (1381186511252258818, '東方不敗', 200, 'lucyee@qq.com', '2021-04-11 18:05:00', '2021-04-11 18:05:47', 2, 1);
INSERT INTO `user` VALUES (1381225266432524290, '東方不敗11', 28, 'lucyee@qq.com', '2021-04-11 20:39:00', '2021-04-11 20:39:00', 1, NULL);

SET FOREIGN_KEY_CHECKS = 1;

引入Maven的配置文件

在這里我多引入了swagger測(cè)試接口的依賴(lài),因?yàn)樵贛ybatisPlus的配置文件里,可以配置自動(dòng)添加swagger的注解。用于測(cè)試接口時(shí)的標(biāo)識(shí)。

<!--mybatis-plus 持久層-->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                 <version>3.0.5</version>
            </dependency>

            <!-- velocity 模板引擎, Mybatis Plus 代碼生成器需要 -->
            <dependency>
                <groupId>org.apache.velocity</groupId>
                <artifactId>velocity-engine-core</artifactId>
                <version>2.0</version>
            </dependency>

 <!--swagger-->
       <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.7.0</version>
      <scope>provided </scope>
    </dependency>
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger-ui</artifactId>
      <version>2.7.0</version>
      <scope>provided </scope>
    </dependency>

編輯MybatisPlus的配置文件

在配置文件里有很多的注釋?zhuān)憧梢愿鶕?jù)注釋來(lái)理解配置文件,并且改成和自己數(shù)據(jù)庫(kù)對(duì)應(yīng)的配置

package com.atguigu.demo;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
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.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;

/**
 * @author huiXing
 * @since 2018/12/13
 */
public class CodeGenerator {

    @Test
    public void run() {

        // 1、創(chuàng)建代碼生成器
    AutoGenerator mpg = new AutoGenerator();

    // 2、全局配置
    GlobalConfig gc = new GlobalConfig();
    String projectPath = System.getProperty("user.dir");
    gc.setOutputDir(projectPath + "/src/main/java");
    gc.setAuthor("huiXing");
    gc.setOpen(false); //生成后是否打開(kāi)資源管理器
    gc.setFileOverride(false); //重新生成時(shí)文件是否覆蓋
    gc.setServiceName("%sService");	//去掉Service接口的首字母I
    gc.setIdType(IdType.ID_WORKER_STR); //主鍵策略
    gc.setDateType(DateType.ONLY_DATE);//定義生成的實(shí)體類(lèi)中日期類(lèi)型
    gc.setSwagger2(true);//開(kāi)啟Swagger2模式

    mpg.setGlobalConfig(gc);

    // 3、數(shù)據(jù)源配置
    DataSourceConfig dsc = new DataSourceConfig();
    dsc.setUrl("jdbc:mysql://localhost:3306/fyDatabase?serverTimezone=GMT%2B8");
    dsc.setDriverName("com.mysql.cj.jdbc.Driver");
    dsc.setUsername("root");
    dsc.setPassword("123456");
    dsc.setDbType(DbType.MYSQL);
    mpg.setDataSource(dsc);

    // 4、包配置
    PackageConfig pc = new PackageConfig();
    pc.setModuleName("production"); //模塊名
    pc.setParent("com.fuyuan.springboot");
    pc.setController("controller");
    pc.setEntity("entity");
    pc.setService("service");
    pc.setMapper("mapper");
    mpg.setPackageInfo(pc);

    // 5、策略配置
    StrategyConfig strategy = new StrategyConfig();

    strategy.setInclude("tb_production");

    strategy.setNaming(NamingStrategy.underline_to_camel);//數(shù)據(jù)庫(kù)表映射到實(shí)體的命名策略
    // strategy.setTablePrefix(pc.getModuleName() + "_"); //生成實(shí)體時(shí)去掉表前綴
    strategy.setTablePrefix("tb" + "_"); //生成實(shí)體類(lèi)時(shí) 去掉前綴t_

    strategy.setColumnNaming(NamingStrategy.underline_to_camel);//數(shù)據(jù)庫(kù)表字段映射到實(shí)體的命名策略
    strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter鏈?zhǔn)讲僮?

    strategy.setRestControllerStyle(true); //restful api風(fēng)格控制器
    strategy.setControllerMappingHyphenStyle(true); //url中駝峰轉(zhuǎn)連字符
    mpg.setStrategy(strategy);
    // 6、執(zhí)行
    mpg.execute();
    }
}

配置application.properties文件

# 服務(wù)端口
server.port=8009

# mysql數(shù)據(jù)庫(kù)連接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatisplus?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456

#返回json的全局時(shí)間格式
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

#mybatis-plus日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

編輯完畢了之后直接運(yùn)行測(cè)試類(lèi)就可以自動(dòng)生成開(kāi)發(fā)所需要的代碼了
當(dāng)你看到有代碼自動(dòng)生成出來(lái)了說(shuō)明你成功了:

在這里插入圖片描述

到此這篇關(guān)于MybatisPlus的代碼生成器使用方法詳解的文章就介紹到這了,更多相關(guān)MybatisPlus代碼生成器的使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java多態(tài)性抽象類(lèi)與接口細(xì)致詳解

    Java多態(tài)性抽象類(lèi)與接口細(xì)致詳解

    這篇文章主要給大家介紹了關(guān)于Java中方法使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • 基于TCP通信丟包原因總結(jié)(推薦)

    基于TCP通信丟包原因總結(jié)(推薦)

    下面小編就為大家?guī)?lái)一篇基于TCP通信丟包原因總結(jié)(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Java參數(shù)校驗(yàn)中validation和validator的區(qū)別詳解

    Java參數(shù)校驗(yàn)中validation和validator的區(qū)別詳解

    這篇文章主要介紹了Java參數(shù)校驗(yàn)中validation和validator的區(qū)別詳解,一般對(duì)于復(fù)雜的業(yè)務(wù)參數(shù)校驗(yàn),可以通過(guò)校驗(yàn)類(lèi)單獨(dú)的校驗(yàn)方法進(jìn)行處理,通常對(duì)于一些與業(yè)務(wù)無(wú)關(guān)簡(jiǎn)單的參數(shù)校驗(yàn)可以采用validation和 validator通過(guò)注解的方式實(shí)現(xiàn)校驗(yàn),需要的朋友可以參考下
    2023-10-10
  • Java實(shí)現(xiàn)UTF-8編碼與解碼方式

    Java實(shí)現(xiàn)UTF-8編碼與解碼方式

    這篇文章主要介紹了Java實(shí)現(xiàn)UTF-8編碼與解碼方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Java Comparable 和 Comparator 的詳解及區(qū)別

    Java Comparable 和 Comparator 的詳解及區(qū)別

    這篇文章主要介紹了Java Comparable 和 Comparator 的詳解及區(qū)別的相關(guān)資料,Comparable 自然排序和Comparator 定制排序的實(shí)例,需要的朋友可以參考下
    2016-12-12
  • springboot websocket集群(stomp協(xié)議)連接時(shí)候傳遞參數(shù)

    springboot websocket集群(stomp協(xié)議)連接時(shí)候傳遞參數(shù)

    這篇文章主要介紹了springboot websocket集群(stomp協(xié)議)連接時(shí)候傳遞參數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Java SPI機(jī)制詳細(xì)介紹

    Java SPI機(jī)制詳細(xì)介紹

    大家好,本篇文章主要講的是Java SPI機(jī)制詳細(xì)介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽
    2021-12-12
  • Spring Boot實(shí)現(xiàn)郵件發(fā)送必會(huì)的5種姿勢(shì)

    Spring Boot實(shí)現(xiàn)郵件發(fā)送必會(huì)的5種姿勢(shì)

    這篇文章主要給大家介紹了關(guān)于Spring Boot實(shí)現(xiàn)郵件發(fā)送必會(huì)的5種姿勢(shì),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Java使用Thumbnailator實(shí)現(xiàn)圖片處理功能

    Java使用Thumbnailator實(shí)現(xiàn)圖片處理功能

    Thumbnailator是一個(gè)簡(jiǎn)單且功能強(qiáng)大的Java庫(kù),用于生成縮略圖和執(zhí)行其他圖片處理任務(wù),在這篇博客中,我們將介紹如何使用Thumbnailator進(jìn)行圖片的縮放、裁剪、旋轉(zhuǎn)等操作,需要的朋友可以參考下
    2024-07-07
  • Java阻塞隊(duì)列的實(shí)現(xiàn)及應(yīng)用

    Java阻塞隊(duì)列的實(shí)現(xiàn)及應(yīng)用

    這篇文章主要介紹了剖析Java中阻塞隊(duì)列的實(shí)現(xiàn)原理及應(yīng)用場(chǎng)景,這里也對(duì)阻塞和非阻塞隊(duì)列的不同之處進(jìn)行了對(duì)比,需要的朋友可以參考下
    2021-10-10

最新評(píng)論

固原市| 松原市| 革吉县| 宁化县| 墨竹工卡县| 新野县| 仙居县| 周宁县| 宁阳县| 龙南县| 高安市| 定襄县| 通渭县| 天全县| 麻城市| 江华| 辽源市| 隆德县| 宁国市| 苗栗市| 绍兴县| 双流县| 富锦市| 东宁县| 永清县| 泸西县| 交城县| 宜兴市| 思茅市| 五台县| 晋中市| 呼和浩特市| 越西县| 茂名市| 高平市| 多伦县| 清河县| 鄂温| 沅陵县| 横峰县| 阿拉善右旗|