SpringBoot整合MybatisPlusGernerator實(shí)現(xiàn)逆向工程
在我們寫(xiě)項(xiàng)目的時(shí)候,我們時(shí)常會(huì)因?yàn)樾枰獎(jiǎng)?chuàng)建很多的項(xiàng)目結(jié)構(gòu)而頭疼。項(xiàng)目中的表很多的時(shí)候,我們連實(shí)體類都創(chuàng)建不完,這時(shí)候就需要我們的逆向工程來(lái)幫助我們生成我們的框架結(jié)構(gòu)。這些結(jié)構(gòu)都差不多,實(shí)體類,表現(xiàn)層,業(yè)務(wù)層和持久層。
大家可以使用自己的數(shù)據(jù)庫(kù),這篇文章主要是提供一下逆向工程的代碼。
一、引入依賴
<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.2</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> </dependency>
二、代碼
生成的代碼作為我們的工具類即可。
public static void main(String[] args) { AutoGenerator autoGenerator = new AutoGenerator(); //設(shè)置我們的數(shù)據(jù)源,根據(jù)自己的實(shí)際情況填寫(xiě) DataSourceConfig dataSourceConfig = new DataSourceConfig(); dataSourceConfig.setDbType(DbType.MYSQL); dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver"); dataSourceConfig.setUsername("root"); dataSourceConfig.setPassword("2020"); dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/community?useUnicode=true&characterEncoding=UTF-8"); autoGenerator.setDataSource(dataSourceConfig); // 全局配置 GlobalConfig globalConfig = new GlobalConfig(); globalConfig.setOpen(false); //文件生成到我們的java目錄下 globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java"); //文檔注釋的作者 globalConfig.setAuthor("admin"); globalConfig.setServiceName("%sService"); autoGenerator.setGlobalConfig(globalConfig); //設(shè)置我們生成的包 PackageConfig packageConfig = new PackageConfig(); //父包 packageConfig.setParent("com.ha"); //實(shí)體類 packageConfig.setEntity("entity"); //mapper packageConfig.setMapper("mapper"); //controller packageConfig.setController("controller"); //service接口 packageConfig.setService("service"); //service接口實(shí)現(xiàn)類 packageConfig.setServiceImpl("service.impl"); autoGenerator.setPackageInfo(packageConfig); //這里對(duì)我們生成的實(shí)體類的屬性做處理 StrategyConfig strategyConfig = new StrategyConfig(); strategyConfig.setEntityLombokModel(true); strategyConfig.setNaming(NamingStrategy.underline_to_camel); strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel); // 在這里修改你的表名稱 生成哪個(gè)表,寫(xiě)哪個(gè)表的名字 strategyConfig.setInclude("manual_record"); //因?yàn)槲覕?shù)據(jù)庫(kù)的字段有時(shí)間類型的字段 /*TableFill tableFill1 = new TableFill("in_time", FieldFill.INSERT); TableFill tableFill2 = new TableFill("out_time", FieldFill.INSERT); TableFill tableFill3 = new TableFill("sign_time", FieldFill.INSERT); List<TableFill> list = Arrays.asList(tableFill1,tableFill2,tableFill3);*/ strategyConfig.setTableFillList(list); autoGenerator.setStrategy(strategyConfig); autoGenerator.execute(); }
生成策略大家可以自己探索一下。下邊的方法都是可以設(shè)置的策略。
public StrategyConfig setCapitalMode(final boolean isCapitalMode) public StrategyConfig setNameConvert(final INameConvert nameConvert) public StrategyConfig setNaming(final NamingStrategy naming) public StrategyConfig setColumnNaming(final NamingStrategy columnNaming) public StrategyConfig setSuperMapperClass(final String superMapperClass) public StrategyConfig setEntitySerialVersionUID(final boolean entitySerialVersionUID) public StrategyConfig setEntityColumnConstant(final boolean entityColumnConstant) public StrategyConfig setChainModel(final boolean chainModel) public StrategyConfig setEntityLombokModel(final boolean entityLombokModel)
三、測(cè)試
生成的實(shí)體類如下。這里代碼太長(zhǎng)了截圖展示一部分。
到此這篇關(guān)于SpringBoot整合MybatisPlusGernerator實(shí)現(xiàn)逆向工程的文章就介紹到這了,更多相關(guān)SpringBoot 逆向工程內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot如何使用MyBatisPlus逆向工程自動(dòng)生成代碼
- springboot3.0整合mybatis-flex實(shí)現(xiàn)逆向工程的示例代碼
- Spring Boot整合MybatisPlus逆向工程(MySQL/PostgreSQL)
- springboot整合mybatis-plus逆向工程的實(shí)現(xiàn)
- mybatis逆向工程與分頁(yè)在springboot中的應(yīng)用及遇到坑
- SpringBoot整合MyBatis逆向工程及 MyBatis通用Mapper實(shí)例詳解
- 淺析Spring和MyBatis整合及逆向工程
- spring和Mybatis逆向工程的實(shí)現(xiàn)
相關(guān)文章
Springcloud中的region和zone的使用實(shí)例
這篇文章主要介紹了Springcloud中的region和zone的使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10淺談為什么阿里巴巴要禁用Executors創(chuàng)建線程池
這篇文章主要介紹了淺談為什么阿里巴巴要禁用Executors創(chuàng)建線程池,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02SpringSecurity在分布式環(huán)境下的使用流程分析
文章介紹了Spring?Security在分布式環(huán)境下的使用,包括單點(diǎn)登錄(SSO)的概念、流程圖以及JWT(JSON?Web?Token)的生成和校驗(yàn),通過(guò)使用JWT和RSA非對(duì)稱加密,可以實(shí)現(xiàn)安全的分布式認(rèn)證,感興趣的朋友一起看看吧2025-02-02java POI解析Excel 之?dāng)?shù)據(jù)轉(zhuǎn)換公用方法(推薦)
下面小編就為大家?guī)?lái)一篇java POI解析Excel 之?dāng)?shù)據(jù)轉(zhuǎn)換公用方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08java利用url實(shí)現(xiàn)網(wǎng)頁(yè)內(nèi)容的抓取
本文主要介紹了java利用url實(shí)現(xiàn)網(wǎng)頁(yè)內(nèi)容抓取的示例。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03elasticsearch集群cluster?discovery可配式模塊示例分析
這篇文章主要為大家介紹了elasticsearch集群cluster?discovery可配式模塊示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04