当前位置:首页 > 经验 >

mybatisplus 代码生成器(mybatisplus代码生成器模板)

来源:原点资讯(www.yd166.com)时间:2022-10-29 12:13:45作者:YD166手机阅读>>

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

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

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

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

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

mybatis-plus-code-generator 工程介绍

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

目录结构:

mybatisplus 代码生成器,mybatisplus代码生成器模板(1)

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

mybatisplus 代码生成器,mybatisplus代码生成器模板(2)

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

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

示例

我们以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);生成的文件

mybatisplus 代码生成器,mybatisplus代码生成器模板(3)

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

mybatisplus 代码生成器,mybatisplus代码生成器模板(4)

测试

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

运行:

mybatisplus 代码生成器,mybatisplus代码生成器模板(5)

工程链接

代码生成器:mybatis-plus-code-generator:https://github.com/fengwenyi/mybatis-plus-code-generator

诗 例 工 程:study-spring-boot-mybatis-plus:https://github.com/fengwenyi/study-spring-boot/tree/master/spring-boot-mybatis-plus

原文:https://developer.aliyun.com/article/778405

栏目热文

springboot的starter原理(springboot starter核心组件)

springboot的starter原理(springboot starter核心组件)

前言我们都知道,Spring的功能非常强大,但也有些弊端。比如:我们需要手动去配置大量的参数,没有默认值,需要我们管理大...

2022-10-29 11:58:07查看全文 >>

mybatis作用及特点(mybatis优点有哪些)

mybatis作用及特点(mybatis优点有哪些)

a、MyBatis 把 sql 语句从 Java 源程序中独立出来,放在单独的 XML 文件中编写,给程序的维护带来了很...

2022-10-29 11:45:02查看全文 >>

mybatis工作原理分析(mybatis工作原理及项目操作配置)

mybatis工作原理分析(mybatis工作原理及项目操作配置)

前言:mybatis是最近几年比较流行的操作数据库框架了,平时都只知道怎么去配置,怎么去用它,那你们知道它是如何实现的吗...

2022-10-29 12:11:32查看全文 >>

mybatis简介(mybatis的详细讲解)

mybatis简介(mybatis的详细讲解)

一. mybatisMyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache so...

2022-10-29 11:28:39查看全文 >>

mybatis面试题(java面试必背八股文)

mybatis面试题(java面试必背八股文)

点击上方"java全栈技术"关注,每天学习一个java知识点1. #{}和${}的区别是什么?#{}是预编译处理,${}...

2022-10-29 11:56:17查看全文 >>

springboot菜鸟教程(菜鸟教程spring boot)

springboot菜鸟教程(菜鸟教程spring boot)

- 一、SpringBoot的starter简介 -1.1 什么是starter(场景启动器)在SpringBoot出现...

2022-10-29 12:02:31查看全文 >>

mybatis详解(mybatis简单示例)

mybatis详解(mybatis简单示例)

MyBatis缓存框架与事务详解一、缓存的概念1.1什么是缓存 存在内存中的临时数据。 将用户经常查询的数据放在缓存(内...

2022-10-29 11:50:24查看全文 >>

简单的灯笼怎么叠(叠小灯笼方法)

简单的灯笼怎么叠(叠小灯笼方法)

过年啦,家家户户挂灯笼,今天教大家折一款樱花灯笼,颜值非常高,中间是一个樱花球,主要是做法超级简单。先剪一张圆形的纸,直...

2022-10-29 11:35:53查看全文 >>

一张纸叠灯笼(一张纸折灯笼大全)

一张纸叠灯笼(一张纸折灯笼大全)

树姐姐昨天发布的3款简单的灯笼很受到大家的欢迎,我好开心哦。离中秋越来越近了,今天树姐姐再给大家分享一款组合型的中式手提...

2022-10-29 12:02:02查看全文 >>

灯笼怎么叠的视频教程(手工灯笼的叠法)

灯笼怎么叠的视频教程(手工灯笼的叠法)

DIY动手实践能够让生活更美好,它让这一平淡的生活眼前一亮。喜欢动手是一种自信的表达方式,创意源于生活,细节决定品质,今...

2022-10-29 11:44:19查看全文 >>

文档排行