当前位置: 首页 > news >正文

给公司建立网站不可以做到的/semantic ui

给公司建立网站不可以做到的,semantic ui,外贸网站建设公司咨询,一条专访是哪个网站做的很多人应该都用过 MyBatis,MyBatisPlus,IDEA的MySql生成Java实体类,Mapper/Dao接口,但是生成的代码,可能并不是我们想要的效果。而且配置也麻烦。下面演示下我自己弄的MySql逆向工程。框架提供的MySql逆向生成Java实体…

很多人应该都用过 MyBatis,MyBatisPlus,IDEA的MySql生成Java实体类,Mapper/Dao接口,但是生成的代码,可能并不是我们想要的效果。而且配置也麻烦。下面演示下我自己弄的MySql逆向工程。

框架提供的MySql逆向生成Java实体类

没有提供 Lombok 注解的配置,如果想用Lombok,还需要去生成的代码中加注解,再把 get/set 方法删掉。

没有提供javax.persistence注解配置,如果需要应用到该注解,就需要自己一个一个的加,很是繁琐。

没有提供Swagger注解的配置,那么也需要自己加。

生成全部表的时候,全部在一个包下。

显然我们更希望的是生成的代码能一步到位,生成后,直接用,而不是还要自己再添加一些重复而又啰嗦的代码/注解。

今天我带来了一款非常高效的MySql逆向生成代码工具,可以随意的配置与拓展,源码也很简单,且只有少量的代码。

源码下载地址 https://download.csdn.net/download/liuqi199707/16012174

先看看效果:

mysql数据表 user

1abfb055674ba51044cdefac27c5190e.png

生成的实体类:

f54f03cbcb5f1ed8ff300186cf819f36.png

e37d174bfd4e003aefc9e0469aff7ea1.png

如何使用的呢?

688e768436cdff507864559c565089da.png

以上图片代码如下:

public static void main(String[] args) {

// 实体类配置

EntityInfo entityInfo = EntityInfo.builder()

.path("F:/liuqi-project-framework-boot/jar/mysql-generation-tool/src/main/java/com/liuqi/generate/entity") // 生成实体类,存放的路径

.enableJavax(true) // 是否启用 Javax 注解 默认false

.enableLombok(true) // 是否启用 Lombok 注解 默认false

.enableSwagger(true) // 是否启用 Swagger 注解 默认false

.setChain(true) // 是否启用 set 链式

.appendTablePackage(new EntityInfo.TablePackage("user", "user")) // 指定 user表 在 ${Swagger} + user包 下

.appendTablePackage(new EntityInfo.TablePackage("employee", "employee.e.l")) // 指定 employee表 在 ${Swagger} + employee.e.l包 下

.build();

/**

* mysql 配置

*/

MySqlGenerate mySqlGenerate = MySqlGenerate.builder()

.url("jdbc:mysql://127.0.0.1:3306/test?useSSL=true")

.username("root")

.password("123456")

.tableSchema("test") // 指定库

.tableNames("user") // 指定生成的表 (多个表用英文逗号隔开) (* 号表示全部的表)

.entityInfo(entityInfo)// 生成实体类的配置

.build();

/**

* 创建 mysql生成代码器

*/

StartMySqlGenerated startMySqlGenerated = new StartMySqlGenerated(mySqlGenerate);

/**

* 开始生成

*/

startMySqlGenerated.start();

}

是否特别简单,😀😀😀

设计与实现思路:

MySql查询数据库下所有的表。当然也可以直接指定表名。

查询数据表的所有字段信息。

遍历所有字段,生成实体类。

1:查询数据表信息:

SELECT * FROM INFORMATION_SCHEMA.tables WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'user'

2:查询数据表的所有字段信息:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'user'

以上两条Sql就是查询数据表信息,字段信息。如果不懂可自行百度查阅。

源代码项目结构:

5e9e04f3e7cdadd9ee6af34aafd1a661.png

handle

GenerateEntityCodeHandler生成实体类代码的处理器,实现了MySqlTableGenerateCodeHandler接口。

MySqlTableGenerateCodeHandler 为数据表生成代码的处理器接口,如果需要生成其他的Java代码(Mapper/Dao/Service)可实现该接口进行拓展。

info

ColumnInfo 数据表栏目(字段)的描述信息。

EntityInfo 生成实体类的配置信息。

TableInfo 数据表的描述信息。

util

FileUtil 写Java文件,写入Java代码。

MySQLToJavaCodeUtil MySql字段类型转Java数据类型。

MySqlUtil 获取MySql连接,查询 数据表/数据表字段 的信息。

StringUtil下划线转驼峰,首字母大写。

MySqlGenerate

MySql逆向生成代码的参数配置器,JDBC连接信息,需要生成代码的(数据库,数据表),实体类配置信息。

StartMySqlGenerated

MySql逆向生成代码的执行器,提供一个 start方法生成代码。

也提供了一个addMySqlTableGenerateCodeHandler方法,对生生成代码进行拓展。

注意:

该逆向生成代码,仅支持MySql,目前只能生成实体类,且没有生成toString()方法。

如果需要生成 Mapper接口,Mapper.xml文件,或者 Dao接口呢?

可以实现MySqlTableGenerateCodeHandler接口,进行拓展。

1de032e7887fd04bac6bbabe693ea423.png

在生成代码前,添加一个自定义的代码生成器。

bbe74ee2586285b0c94bf8e93b628451.png

源码下载地址 https://download.csdn.net/download/liuqi199707/16012174

把 mysql-generation-tool 导入至 IDEA。

TestMain.java测试案例。

b54f8a33b77f209ef3318d6649de542a.png

http://www.lbrq.cn/news/1388881.html

相关文章:

  • 做国外网站推广/网络运营推广是做什么的
  • 网站的备案流程/进入百度首页官网
  • 用照片做视频的网站好/百度免费咨询
  • ps网站背景图片怎么做/四川seo整站优化吧
  • 南京网站搜索排名/b2b平台运营模式
  • 石碣镇做网站/南京百度网站快速优化
  • 北镇建设局网站/seo优化诊断
  • 延安网站开发/今日新闻头条新闻摘抄
  • 河南城乡与住房建设厅网站/北京正规seo搜索引擎优化价格
  • 潍坊网站建设联系方式/网店seo名词解释
  • 做网站免费的域名/揭阳新站seo方案
  • 网站建设平台价格/百度app官方正式版
  • 专业网站建设制作多少钱/123网址之家
  • 网站怎么做 流程/廊坊百度关键词优化怎么做
  • 网站二维码怎么制作/中国seo网站
  • 公司网站制作设计价格/如何开发网站平台
  • 为加强政协网站建设/免费投放广告平台
  • 网站建设外包公司/免费制作网站app
  • 机械制造设备类企业网站织梦模板/企业管理
  • 备案关闭网站/网络营销中的seo与sem
  • 提供商城网站建设/关键词异地排名查询
  • 不会php能做动态网站吗/广州灰色优化网络公司
  • 食品营销型网站建设/免费推广网站地址大全
  • 建设企业网站的时间/专业北京seo公司
  • 郑州的网站建设/百度竞价开户需要多少钱
  • 普陀学校网站建设/seo图片优化的方法
  • 深圳网站网页制作公司/软文投放平台有哪些?
  • 自己主机做网站服务器/佛山抖音seo
  • 迅速让一个wordpress/seo服务如何收费
  • 深圳怎么注册公司网站/百度竞价开户需要多少钱
  • 线段树01
  • 20250822 组题总结
  • 机器学习在量化中的应用
  • 解决 PyTorch 导入错误:undefined symbol: iJIT_NotifyEvent
  • Pandas中的SettingWithCopyWarning警告出现原因及解决方法
  • 笔试——Day46