第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

MyBatis-Plus系列之代碼生成器

標(biāo)簽:
SpringBoot

代码生成器,也叫逆向工程,是根据数据库里的表结构,自动生成对应的实体类、映射文件和接口。

这和hibernate的自动建表恰好相反。

很早之前,写了一个代码生成器的工程,自己也一直在用,很方便,也经过大量验证,也支持很多数据库。

看到很多小伙伴在为数据库生成实体类发愁,现分享给大家,提高开发效率。

mybatis-plus-code-generator 工程介绍

工程地址:mybatis-plus-code-generator:github.com/fengwenyi/mybatis-plus-code-generator

目录结构:

image-20201116221745190

Config类

针对每个人的习惯,可以在这个类里进行配置

 /** 包名:service */  
 public static final String PACKAGE_NAME_SERVICE = "repository";/** 包名:service.impl */  
 public static final String PACKAGE_NAME_SERVICE_IMPL = "repository.impl";/** 包名:model */  
 public static final String PACKAGE_NAME_MODEL = "entity";/** 包名:dao */  
 public static final String PACKAGE_NAME_DAO = "mapper";/** 包名:xml */  
 public static final String PACKAGE_NAME_XML = "xml";/** 文件名后缀:Model */  
 public static final String FILE_NAME_MODEL = "%sEntity";/** 文件名后缀:Dao */  
 public static final String FILE_NAME_DAO = "I%sMapper";/** 文件名后缀:Mapper */  
 public static final String FILE_NAME_XML = "%sMapper";/** MP开头,Service结尾 */  
 public static final String FILE_NAME_SERVICE = "MP%sRepository";/** 文件名后缀:ServiceImpl */  
 public static final String FILE_NAME_SERVICE_IMPL = "%sRepositoryImpl";/** 逻辑删除字段 */  
 public static final String FIELD_LOGIC_DELETE_NAME = "delete_status";/** 作者 */  
 public static final String AUTHOR = "Erwin Feng";/** 是否支持Swagger,默认不支持 */  
 public static final Boolean SWAGGER_SUPPORT = false;

MySQL8CodeGenerator

image-20201116222257951

圈中的地方是必须要改的。

修改之后,执行就可以生成相应的代码文件了,下面我们举个例子。

示例

我们以MyBatis-Plus官网的例子为例,拿来演示

SQL

DROP TABLE IF EXISTS user;CREATE TABLE user  
(  
 id BIGINT(20) NOT NULL COMMENT '主键ID',  
 name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',  
 age INT(11) NULL DEFAULT NULL COMMENT '年龄',  
 email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',  
 PRIMARY KEY (id)  
);DELETE FROM user;INSERT INTO user (id, name, age, email) VALUES  
(1, 'Jone', 18, 'test1@baomidou.com'),  
(2, 'Jack', 20, 'test2@baomidou.com'),  
(3, 'Tom', 28, 'test3@baomidou.com'),  
(4, 'Sandy', 21, 'test4@baomidou.com'),  
(5, 'Billie', 24, 'test5@baomidou.com');

testMySQLCodeGenerator

DbType dbType = DbType.MYSQL;  
String dbUrl = "jdbc:mysql://192.168.16.128:3306/study-spring-boot-mybatis-plus";  
String username = "root";  
String password = "123456";  
String driver = "com.mysql.cj.jdbc.Driver";  
// 表前缀,生成的实体类,不含前缀  
String [] tablePrefixes = {};  
// 表名,为空,生成所有的表  
String [] tableNames = {};  
// 字段前缀  
String [] fieldPrefixes = {};  
// 基础包名  
String packageName = "com.fengwenyi.studyspringbootmybatisplus.db";  
CommonUtils.execute(dbType, dbUrl, username, password, driver, tablePrefixes, tableNames, packageName, fieldPrefixes);

生成的文件

image-20201116222805795

我们将生成的文件拷贝到工程里

image-20201116222957495

测试

@Autowired  
private MPUserRepository mpUserRepository;@Test  
public void testSelectList() {  
 List list = mpUserRepository.list();  
 list.forEach(userEntity -> log.info(userEntity.toString()));  
}

运行:

image-20201116223227966

工程链接

代码生成器:mybatis-plus-code-generator:github.com/fengwenyi/mybatis-plus-code-generator
示 例 工 程:study-spring-boot-mybatis-plus:github.com/fengwenyi/study-spring-boot/tree/master/spring-boot-mybatis-plus

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
JAVA開發(fā)工程師
手記
粉絲
1.4萬(wàn)
獲贊與收藏
707

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消