摘要:全自動(dòng)代碼生成器項(xiàng)目地址代碼模版位于下可根據(jù)需要自行修改第一個(gè)模版是根據(jù)編寫的若不適合可以自行修改模版或選擇其他模版配置文件在下創(chuàng)建文件隨意例如可創(chuàng)建多個(gè)配置文件內(nèi)容如下填入數(shù)據(jù)庫配置以及生成代碼的包名模版文件映射用于自定義生成
全自動(dòng)代碼生成器mybatis-generator
項(xiàng)目地址https://github.com/GitHub-Laziji/mybatis-generator
代碼模版位于resources下, 可根據(jù)需要自行修改
第一個(gè)模版是根據(jù) commons-mybatis 編寫的, 若不適合可以自行修改模版或選擇其他模版配置文件
在resources下創(chuàng)建application-${name}.yml文件, ${name}隨意, 例如: application-example.yml, 可創(chuàng)建多個(gè)
配置文件內(nèi)容如下, 填入數(shù)據(jù)庫配置, 以及生成代碼的包名
模版文件映射用于自定義生成文件的包格式以及文件名
動(dòng)態(tài)屬性包含
{packageFilePath} 包文件路徑 例如: com/xxx/xxx
{className} 類名 由表名改為駝峰命名法得來
{suffix} 類名后綴 DO或VO
一般按以下配置即可
現(xiàn)在項(xiàng)目中有兩套模版template.path 可以選mybatis 或 mybatis-default
也可以自行擴(kuò)展
spring: datasource: url: jdbc:mysql://xxx.xxx.xxx.xxx:3306/xxxx?characterEncoding=utf-8 username: xxxxxx password: xxxxxx generator: package: com.xxx.xxx template: path: mybatis mapping: | Model.java.vm: main/java/{packageFilePath}/database/model/{className}.java Query.java.vm: main/java/{packageFilePath}/database/query/{className}Query.java Dao.java.vm: main/java/{packageFilePath}/database/dao/{className}.java Service.java.vm: main/java/{packageFilePath}/database/service/{className}Service.java Mapper.xml.vm: main/resources/mapper/{className}Mapper.xml使用
在test文件下創(chuàng)建測試類
@ActiveProfiles("example")中填入剛才配置文件名的name
tableNames需要生成的表, 可以多個(gè)
zipPath 代碼導(dǎo)出路徑
調(diào)用generatorService.generateZip傳入?yún)?shù)可以是表名數(shù)組String[]或者TableItem[]
運(yùn)行測試方法
package pg.laziji.generator; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; import pg.laziji.generator.mybatis.GeneratorService; import javax.annotation.Resource; import java.io.IOException; @ActiveProfiles("example") @RunWith(SpringRunner.class) @SpringBootTest public class ExampleTest { @Resource private GeneratorService generatorService; @Test public void test(){ String zipPath = "/home/code.zip"; // String[] tableNames = new String[]{"table1","table2"}; // generatorService.generateZip(tableNames,zipPath); TableItem[] tableItems = new TableItem[]{ new TableItem("table1", "TableA"), new TableItem("table2", "TableB") }; generatorService.generateZip(tableItems,zipPath); } }
歡迎關(guān)注我的博客公眾號
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/77394.html
摘要:原博地址本文介紹如何用編寫高度自定義的代碼生成器是一款優(yōu)秀的持久層框架,它支持定制化存儲過程以及高級映射。避免了幾乎所有的代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。 原博地址https://laboo.top/2018/11/26/a-db/#more 本文介紹如何用Java編寫高度自定義的代碼生成器 MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBa...
摘要:代碼生成代碼生成內(nèi)容在基礎(chǔ)上,新增等模板拓展,生成通用分頁方法代碼生成模板數(shù)據(jù)庫新建表,即可生成后臺分頁基礎(chǔ)代碼,還有官網(wǎng)地址代碼生成步驟創(chuàng)建數(shù)據(jù)庫表,例如注意記得加上表注釋,字段列注釋,方便生成類注釋注釋 spring-boot-plus 代碼生成 Generator 代碼生成內(nèi)容 spring-boot-plus在mybatis-plus基礎(chǔ)上,新增param/vo等模板 拓展c...
摘要:代碼生成在基礎(chǔ)上,新增等模板拓展,生成通用分頁方法代碼生成模板數(shù)據(jù)庫新建表,即可生成后臺分頁基礎(chǔ)代碼,還有官網(wǎng)地址代碼生成步驟創(chuàng)建數(shù)據(jù)庫表,例如注意記得加上表注釋,字段列注釋,方便生成類注釋注釋 代碼生成 Generator spring-boot-plus在mybatis-plus基礎(chǔ)上,新增param/vo等模板拓展controller/service/mapper/xml,生成通...
摘要:建模語言建模語言是可用于表達(dá)信息或知識或系統(tǒng)的任何人造語言,該結(jié)構(gòu)由一組一致的規(guī)則定義,目標(biāo)是可視化,推理,驗(yàn)證和傳達(dá)系統(tǒng)設(shè)計(jì)。將這些文件安排到不同的地方稱為源代碼樹。源代碼樹的結(jié)構(gòu)通常反映了軟件的體系結(jié)構(gòu)。 大綱 軟件構(gòu)建的一般過程: 編程/重構(gòu) 審查和靜態(tài)代碼分析 調(diào)試(傾倒和記錄)和測試 動(dòng)態(tài)代碼分析/分析 軟件構(gòu)建的狹義過程(Build): 構(gòu)建系統(tǒng):組件和過程 構(gòu)建變體...
摘要:引用泛型除了方法因不能使用外部實(shí)例參數(shù)外,其他繼承實(shí)現(xiàn)成員變量,成員方法,方法返回值等都可使用。因此,生成的字節(jié)碼僅包含普通的類,接口和方法。 為什么要使用泛型程序設(shè)計(jì)? 一般的類和方法,只能使用具體的類型:要么是基本類型,要么是自定義類的對應(yīng)類型;如果要編寫可以應(yīng)用于多種類型的代碼,這種刻板的限制對代碼的束縛就會很大。----摘自原書Ordinary classes and meth...
閱讀 976·2021-11-24 09:38
閱讀 1061·2021-11-23 09:51
閱讀 3046·2021-11-16 11:44
閱讀 1848·2021-09-22 15:52
閱讀 1747·2021-09-10 11:20
閱讀 1458·2019-08-30 13:47
閱讀 1379·2019-08-29 12:36
閱讀 3384·2019-08-26 10:43