免费A级毛片无码专区网站-成人国产精品视频一区二区-啊 日出水了 用力乖乖在线-国产黑色丝袜在线观看下-天天操美女夜夜操美女-日韩网站在线观看中文字幕-AV高清hd片XXX国产-亚洲av中文字字幕乱码综合-搬开女人下面使劲插视频

spring boot項(xiàng)目使用mybatis-plus代碼生成實(shí)例

前言mybatis-plus官方地址https://baomidou.com

mybatis-plus是mybatis的增強(qiáng),不對(duì)mybatis做任何改變,涵蓋了代碼生成,自定義ID生成器,快速實(shí)現(xiàn)CRUD,自動(dòng)分頁,邏輯刪除等功能,更多功能請(qǐng)查閱官方文檔
安裝依賴mybatis-plus-generator
<!-- mybatis plus 代碼生成器 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3.4</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.1</version></dependency>application.yml添加配置針對(duì)spring boot或者mavan項(xiàng)目,我們需要在項(xiàng)目配置文件進(jìn)行mybatis-plus添加配置項(xiàng)
mybatis-plus:mapper-locations: classpath*:mapper/**/*Mapper.xmltype-aliases-package: com.lewyon.mybatislewyon.entity代碼生成實(shí)例代碼生成依賴在代碼生成之前,我們還需要添加mysql等相關(guān)包,進(jìn)行導(dǎo)入,當(dāng)前實(shí)例使用freemarker模板,因此需要添加相關(guān)依賴
<!-- mysql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version></dependency><!-- freemarker --><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.31</version></dependency>數(shù)據(jù)源配置實(shí)例化DataSourceConfig方法對(duì)數(shù)據(jù)源進(jìn)行配置,傳入數(shù)據(jù)庫地址和賬號(hào)密碼
private static final DataSourceConfig.Builder DATA_SOURCE_CONFIG = new DataSourceConfig.Builder("jdbc:mysql://localhost:3306/user?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC", "root", "lewyon123").dbQuery(new MySqlQuery()) //數(shù)據(jù)庫查詢.schema("mybatis-plus") //數(shù)據(jù)庫schema(部分?jǐn)?shù)據(jù)庫適用).typeConvert(new MySqlTypeConvert()) //數(shù)據(jù)庫類型轉(zhuǎn)換器.keyWordsHandler(new MySqlKeyWordsHandler()); //數(shù)據(jù)庫關(guān)鍵字處理器globalConfig處理通用配置.globalConfig(builder -> {builder.author("lewyon") // 設(shè)置作者.enableSwagger() // 開啟 swagger 模式.fileOverride() // 覆蓋已生成文件.disableOpenDir() //禁止打開輸出目錄.outputDir(projectPath + "/src/main/java"); // 指定輸出目錄})packageConfig包名設(shè)置packageConfig配置項(xiàng)包括父包名,entity,service, serviceImpl, mapper層,
xml配置,控制器controller等 。
【spring boot項(xiàng)目使用mybatis-plus代碼生成實(shí)例】.packageConfig(builder -> {builder.parent("com.lewyon.mybatislewyon") // 設(shè)置父包名.moduleName("user") // 設(shè)置父包模塊名.entity("entity").service("service").serviceImpl("service.impl").mapper("mapper").xml("mapper.xml").controller("controller");})strategyConfig配置
  • strategyConfig配置設(shè)置包括表名稱以及表名處理
  • 格式化Service以及ServiceImpl,添加%s前綴表示去除 Service 前綴的I
.strategyConfig(builder -> {builder.addInclude("user") // 設(shè)置需要生成的表名.addTablePrefix("t_", "c_").controllerBuilder().enableHyphenStyle().enableRestStyle().serviceBuilder().formatServiceFileName("%sService").formatServiceImplFileName("%sServiceImp").build();})小結(jié)以上就是關(guān)于mybatis-plus生成代碼包的基礎(chǔ)實(shí)例,完整代碼如下:
package com.lewyon.mybatislewyon;import com.baomidou.mybatisplus.generator.FastAutoGenerator;import com.baomidou.mybatisplus.generator.config.DataSourceConfig;import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery;import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler;public class GeneratorCode {/*** 數(shù)據(jù)源配置*/private static final DataSourceConfig.Builder DATA_SOURCE_CONFIG = new DataSourceConfig.Builder("jdbc:mysql://localhost:3306/user?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC", "root", "lewyon123").dbQuery(new MySqlQuery()) //數(shù)據(jù)庫查詢.schema("mybatis-plus") //數(shù)據(jù)庫schema(部分?jǐn)?shù)據(jù)庫適用).typeConvert(new MySqlTypeConvert()) //數(shù)據(jù)庫類型轉(zhuǎn)換器.keyWordsHandler(new MySqlKeyWordsHandler()); //數(shù)據(jù)庫關(guān)鍵字處理器public static void main(String[] args) {String projectPath = System.getProperty("user.dir");FastAutoGenerator.create(DATA_SOURCE_CONFIG).globalConfig(builder -> {builder.author("lewyon") // 設(shè)置作者.enableSwagger() // 開啟 swagger 模式.fileOverride() // 覆蓋已生成文件.disableOpenDir() //禁止打開輸出目錄.outputDir(projectPath + "/src/main/java"); // 指定輸出目錄}).packageConfig(builder -> {builder.parent("com.lewyon.mybatislewyon") // 設(shè)置父包名.moduleName("user") // 設(shè)置父包模塊名.entity("entity").service("service").serviceImpl("service.impl").mapper("mapper").xml("mapper.xml").controller("controller");}).strategyConfig(builder -> {builder.addInclude("user") // 設(shè)置需要生成的表名.addTablePrefix("t_", "c_").controllerBuilder().enableHyphenStyle().enableRestStyle().serviceBuilder().formatServiceFileName("%sService").formatServiceImplFileName("%sServiceImp").build();}).templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默認(rèn)的是Velocity引擎模板.execute();}}

經(jīng)驗(yàn)總結(jié)擴(kuò)展閱讀