av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

一篇超詳細(xì)的SpringBoot整合MybatisPlus的文章

瀏覽:2日期:2023-02-22 15:42:17
目錄創(chuàng)建個(gè)SpringBoot項(xiàng)目寫(xiě)個(gè)HelloController測(cè)試下使用代碼生成器生成代碼添加所需的依賴CodeGenerator運(yùn)行代碼生成器,在控制臺(tái)輸入想要生成的表總結(jié)創(chuàng)建個(gè)SpringBoot項(xiàng)目

勾選生所需的依賴:

一篇超詳細(xì)的SpringBoot整合MybatisPlus的文章

我把a(bǔ)pplication的后綴改為.yml了,方便些。

一篇超詳細(xì)的SpringBoot整合MybatisPlus的文章

pom.xml:

<?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.4.4</version><relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.keafmd</groupId> <artifactId>springboot-mybatisplus</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot-mybatisplus</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-jdbc</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional></dependency><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope></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> </dependencies> <build><plugins> <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration> <excludes><exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId></exclude> </excludes></configuration> </plugin></plugins> </build></project>

因?yàn)槲覀兣渲昧藬?shù)據(jù)源,所以需要在application.yml中配置下數(shù)據(jù)源,不然會(huì)起不來(lái),我順便也改了下端口。

application.yml:

server: port: 80spring: datasource: url: jdbc:mysql://127.0.0.1:3306/ssm-java1?useSSL=false&&characterEncoding=UTF-8 driver-class-name: com.mysql.cj.jdbc.Driver username: root password: 18044229寫(xiě)個(gè)HelloController測(cè)試下

HelloController:

package com.keafmd.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * Keafmd * * @ClassName: HelloController * @Description: * @author: 牛哄哄的柯南 * @Date: 2021-04-09 11:11 * @Blog: https://keafmd.blog.csdn.net/ */@RestControllerpublic class HelloController { @RequestMapping('/hello') public String hello(){return 'keafmd'; }}

運(yùn)行啟動(dòng)類,訪問(wèn):http://127.0.0.1/hello

一篇超詳細(xì)的SpringBoot整合MybatisPlus的文章

到此證明SpringBoot沒(méi)有問(wèn)題。

使用代碼生成器生成代碼添加所需的依賴

pom.xml中添加以下依賴:

<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <scope>test</scope> <version>3.4.0</version></dependency><dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <scope>test</scope> <version>2.3.31</version></dependency>

由于代碼生成器并不會(huì)在生產(chǎn)環(huán)境使用,只是在開(kāi)發(fā)環(huán)境中使用了下。所以我們把代碼生成器寫(xiě)在test包中即可,依賴的使用場(chǎng)景也定義成test即可。

CodeGenerator

CodeGenerator:

package com.keafmd.mp;import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;import com.baomidou.mybatisplus.core.toolkit.StringPool;import com.baomidou.mybatisplus.core.toolkit.StringUtils;import com.baomidou.mybatisplus.generator.AutoGenerator;import com.baomidou.mybatisplus.generator.InjectionConfig;import com.baomidou.mybatisplus.generator.config.*;import com.baomidou.mybatisplus.generator.config.po.TableInfo;import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * Keafmd * * @ClassName: CodeGenerator * @Description: * @author: 牛哄哄的柯南 * @date: 2021-03-23 21:47 */// 演示例子,執(zhí)行 main 方法控制臺(tái)輸入模塊表名回車(chē)自動(dòng)生成對(duì)應(yīng)項(xiàng)目目錄中public class CodeGenerator { /** * <p> * 讀取控制臺(tái)內(nèi)容 * </p> */ public static String scanner(String tip) {Scanner scanner = new Scanner(System.in);StringBuilder help = new StringBuilder();help.append('請(qǐng)輸入' + tip + ':');System.out.println(help.toString());if (scanner.hasNext()) { String ipt = scanner.next(); if (StringUtils.isNotBlank(ipt)) {return ipt; }}throw new MybatisPlusException('請(qǐng)輸入正確的' + tip + '!'); } public static void main(String[] args) {// 代碼生成器AutoGenerator mpg = new AutoGenerator();// 全局配置GlobalConfig gc = new GlobalConfig();String projectPath = System.getProperty('user.dir');//System.out.println('projectPath = ' + projectPath);gc.setOutputDir(projectPath + '/src/main/java');//gc.setOutputDir('D:test');gc.setAuthor('關(guān)注公眾號(hào):牛哄哄的柯南');gc.setOpen(false);// gc.setSwagger2(true); 實(shí)體屬性 Swagger2 注解gc.setServiceName('%sService');mpg.setGlobalConfig(gc);// 數(shù)據(jù)源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setUrl('jdbc:mysql://localhost:3306/ssm-java1?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC');// dsc.setSchemaName('public');dsc.setDriverName('com.mysql.cj.jdbc.Driver');dsc.setUsername('root');dsc.setPassword('18044229');mpg.setDataSource(dsc);// 包配置PackageConfig pc = new PackageConfig();pc.setModuleName(null);pc.setParent('com.keafmd');mpg.setPackageInfo(pc);// 自定義配置InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() {// to do nothing }};// 如果模板引擎是 freemarkerString templatePath = '/templates/mapper.xml.ftl';// 如果模板引擎是 velocity// String templatePath = '/templates/mapper.xml.vm';// 自定義輸出配置List<FileOutConfig> focList = new ArrayList<>();// 自定義配置會(huì)被優(yōu)先輸出focList.add(new FileOutConfig(templatePath) { @Override public String outputFile(TableInfo tableInfo) {// 自定義輸出文件名 , 如果你 Entity 設(shè)置了前后綴、此處注意 xml 的名稱會(huì)跟著發(fā)生變化!!return projectPath + '/src/main/resources/mapper/'+ '/' + tableInfo.getEntityName() + 'Mapper' + StringPool.DOT_XML; }});cfg.setFileOutConfigList(focList);mpg.setCfg(cfg);// 配置模板TemplateConfig templateConfig = new TemplateConfig();templateConfig.setXml(null);mpg.setTemplate(templateConfig);// 策略配置StrategyConfig strategy = new StrategyConfig();strategy.setNaming(NamingStrategy.underline_to_camel);strategy.setColumnNaming(NamingStrategy.underline_to_camel);strategy.setEntityLombokModel(true);strategy.setRestControllerStyle(true);strategy.setInclude(scanner('表名,多個(gè)英文逗號(hào)分割').split(','));strategy.setControllerMappingHyphenStyle(true);strategy.setTablePrefix('m_');mpg.setStrategy(strategy);mpg.setTemplateEngine(new FreemarkerTemplateEngine());mpg.execute(); }}運(yùn)行代碼生成器,在控制臺(tái)輸入想要生成的表

一篇超詳細(xì)的SpringBoot整合MybatisPlus的文章

這樣就會(huì)生成一些包及相應(yīng)的代碼,注意CodeGenerator中的相關(guān)代碼(如數(shù)據(jù)庫(kù)的,包名的)需要該成你們需要的。

一篇超詳細(xì)的SpringBoot整合MybatisPlus的文章

總結(jié)

本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注好吧啦網(wǎng)的更多內(nèi)容!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 国产精品天堂 | 久久国产精品免费 | 中文字幕在线看片 | 午夜伦理视频 | 日韩精品视频免费播放 | 午夜免费毛片 | 欧美日韩精品久久久免费观看 | 免费av网址在线观看 | 国产精品免费在线播放 | 久久久久国产精品视频 | 欧美福利一区 | 巨骚综合| 人人爽爽人人 | 国产一区二区三区在线观看视频 | 一区二区三区四区视频 | 欧美激情视频一区二区三区 | 啊v在线观看 | 青草导航 | 成人午夜激情视频 | 亚洲一区免费视频 | 中文字幕国产 | 一区二区三区日韩 | 成人综合婷婷国产精品久久 | 伊人久久网站 | 欧美视频在线播放 | 99久久综合 | 日本精品视频 | 亚洲成人天堂 | 亚洲欧美另类在线 | 欧美xxxx性 | 午夜成人影片 | 中文字幕在线免费看 | 国产欧美日韩综合精品 | 久久久噜噜噜 | 国产无遮挡又黄又爽免费网站 | 激情视频网址 | 97精品国产露脸对白 | 久久久精品 | 日韩精品极品视频在线观看免费 | 青青草一区二区 | 福利视频二区 |