mysql-pius代码生成网站_MyBatis-Plus系列之代码生成器

news/2024/5/9 4:09:38/文章来源:https://blog.csdn.net/weixin_28925387/article/details/114339190

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

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

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

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

mybatis-plus-code-generator 工程介绍

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

目录结构:

491ab6fb0c7873e2a637b528b1d733ec.png

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

c8e0028902d52ef2545e011fc4c17f5e.png

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

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

示例

我们以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);

复制代码

生成的文件

fc92ac0e86feb373d7c6e3aa6ccd7aef.png

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

4b292183a29ee0529d3cfd97de010355.png

测试

@Autowired

private MPUserRepository mpUserRepository;

@Test

public void testSelectList(){

List list = mpUserRepository.list();

list.forEach(userEntity -> log.info(userEntity.toString()));

}

复制代码

运行:

4af0718539f6e03181f70af165a3cec6.png

工程链接

代码生成器: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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_735342.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站自动登录功能的设计

我相信有很多IT者都会遇到公司要求网站可以实现自动登录,那什么是自动登录呢? 所谓自动登陆就是当用户第一次访问网站时,输入用户名和密码,然后勾选了自动登陆复选框,进入首页后,点击退出登陆,关…

关闭宝塔80端口_服务器网站运行宝塔环境安装教程

宝塔环境安装本教程使用宝塔linux面板来作为网站的运行环境,其他的这类软件也是可以的。首先是宝塔面板的安装我们首先连接到服务器,购买服务器后如何远程连接登陆?然后登陆进入了下图这个界面。宝塔环境安装我们打开宝塔面板的官方网站&…

数据包发送时 源端口是随机生成的吗_当你访问XXX网站时,从访问到内容返回呈现,中间发生了什么?...

想必不少小伙伴面试过程中,会遇到「当键入网址后,到网页显示,其间发生了什么」的面试题。这次,小林我带大家一起探究下,一个数据包在网络中的心路历程。每个阶段都有数据包的「心路历程」,我们一起看看它说…

设计电子商务网站建设方案_如何做一份公司网站建设方案书

点击蓝字获取更多优惠信息在决定做好网站建设前,公司应该先对市场情况进行分析、明确建设网站的目的和功能性,并根据市场调查结果对网站建设的各项要求要点做出规划。网站规划对网站建设起到计划和指导的作用,对网站的内容和维护起到定位作用…

网站改成静态页面打不开_网站优化系统诊断和SEO体验

在做企业网站优化时,常遇到很多的问题,比如网站原创内容不收录,收录后没有排名,有排名却怎么也排不到首页等。所以就需要我们系统的对企业网站优化做一个很好的诊断,帮助我们调整网站细节,更好的提高网站权…

您与此网站之间建立的连接并非完全安全 ????

有时候即使SSL证书有效, Chrome还是显示"并非完全安全"?比如: 肿么肥事呢?原来一个网页不完全由1个https包得到的, 而是由多个资源共同组成的,打开网络工具就可以看到: 在Size那一列, 只有第1个资源(通常是html)是不会走缓存的,这个资源也来自浏览器地址栏里面所看…

tp5网站上传服务器,tp5上传到云服务器

tp5上传到云服务器 内容精选换一换本章节以Linux操作系统为例,指导您通过弹性云服务器内网连接GaussDB(for Cassandra)实例。您可以根据业务需求选用普通方式或SSL方式连接实例。目标实例必须与弹性云服务器在同一个虚拟私有云和子网内才能访问。该弹性云服务器必须…

基于Java/Mysql的个人博客网站

3年前写的一个技术博客。。。纪念一下。 OpenIdea Blog - 开源灵感博客 a personal blog site based on Java/Mysql - 基于Java/Mysql的个人博客网站;此时已经更新至version23.1;这是一个java web博客项目,尽最大可能实现mvc模式,没有使用到框架&#xf…

一个博客网站的历史纪录。。。

上一篇文章用MySQL实现了一个个人博客网站,本文是它各个版本的历史记录,在删除源代码之前,最后回忆一下这个项目的历史。2017-09-02【0.0】博客诞生2017-09-02【0.0】测试阶段:阿里云vps成功内测前端模板2017-09-09【0.0】测试阶段:服务器重定…

云服务器建站原理_第一篇博客---阿里云服务器建站过程(小菜鸟的第一次尝试)...

最近学习了前后端的相关技术,就想租一个服务器试一下,玩一玩,简单了解了一下阿里云的服务器,简单介绍一下:一:什么是云服务器ECS是阿里云产品体系中,最基础的计算服务,通常用作应用程序的运行环…

哈尔滨网站服务器_哈尔滨web前端开发应用越来越广泛

互联网发展日新月异,有大量工作需要前端来做:1日常办公软件(复杂应用,并且慢慢从桌面程序演化为Web):Office、Email、文档管理、产品设计、项目管理、代码编辑器;2大数据/AI配套软件(复杂应用,并且慢慢从桌…

计算机组成二进制除法,二进制算术运算-计算机组成原理与汇编语言-电子发烧友网站...

1.4.1 二进制加法二进制加法与十进制加法相类似,所不同的是,二进制加法中是“逢二进一”,其法则为:000101011110 并进位例如:两个二进制数相加:10110101 10001110______________1010000111.4.2 二进制减法在…

java soap服务_「java调用webservice」java调用webservice接口 三种方法 - seo实验室

java调用webservice摘自其它:webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口。今天搜索到了非常好的 webservice provider列表http://www.webserv…

搜索引擎优化的用乐云seo_SEO搜索引擎优化是否真的那么重要?

SEO搜索引擎优化是优化网页及其内容的过程,以便用户搜索与您的网站相关的词条并轻松地发现它们。尽管SEO搜索引擎优化的概念相对简单明了,但是仍然还是有很多企业对具体问题存有疑问,例如:如何“优化”网站或公司的搜索引擎网站&a…

内容泛化是什么意思_网站优化|为什么做了SEO优化 网站却没有排名?

即使你在SEO行业,有着几年的工作经验,你偶尔也会有这样的疑问,我长期的坚持写高质量内容,但有的时候,针对某些网站,它的排名就是上去。这让很多SEO人员,一度在怀疑自己的优化策略,是…

计算机登录网站慢手机快,手机WiFi网速慢,简单输入几个数字立马变快!

原标题:手机WiFi网速慢,简单输入几个数字立马变快!微言∶“用手机连家里的WiFi上网也是很普遍的一件事了。可是有时候,电脑网速是正常的,可手机连上的WiFi却很慢,这到底是什么原因呢?”相信很多微友都有遇过类似的情况,和朋友连接…

服务器弄好了怎么做网站,怎么自己做网站?自己做网站都需要什么?

怎么自己做网站?自己做网站都需要什么?免费建站有哪些流程及步骤,想必我们想做网站的朋友都有这样的疑问吧!下面就和小编来一起看看吧!1、网站程序网站程序必需的,能够自身撰写或是是业务外包请人做,搞好以后能够授权委托构建网站&#xff…

seo查询工具源码_SEO站长必备的7个工具网站,老站长的选择错不了(值得珍藏)...

对于一个站长来说seo网址导航很重要一是你可以在这些网址导航中随时找到你想用的工具二是可以通过导航里面琳琅满目的网址针对性的学习自己想要的东西如何更好利用seo工具如何进行白帽优化等故此之华收集了:SEO站长必备的7个工具网站希望可以在工作中帮到你!开始分享…

wordpress怎么设置文章页面不打开新的窗口_2020年使用宝塔面板搭建 WordPress 网站图文详细教程

今天详细介绍一下如何使用宝塔面板,搭建 WordPress 博客。宝塔面板的安装很简单,一行命令就能搞定,安装教程参考《2分钟装好宝塔面板,一键管理服务器》。安装完成之后,我们选择安装 LAMP 或者 LNMP 建站环境&#xff0…

怎们将txt传到github_将域名和GitHub Pages服务器绑定起来丨建站系列最终篇

小伙伴们,上一篇文章中,我们成功通过链接http://username.github.io(username为github用户名)访问到我们的博客页面啦。 这篇文章中,唠师傅给大家唠一唠,怎么将http://username.github.io替换成我们独一无二…