Java代码生成器多表配置优化,增加自定义实体功能
前言
最近利用零碎的时间对代码生成器做了进一步更新:优化多表配置模块,增加自定义实体功能,美化单表和多表配置的UI界面,修复用户反馈的若干bug,一起看一下吧!
多表配置优化
新版多表配置模块使用了多模块生成模式,每个模块下可以配置不同的方法,并且摒弃了原来的Map参数类型,参数和返回值全部使用entity,虽然牺牲了一定的灵活程度,但总体来说,利大于弊。如果自己做个小项目倒无所谓,倘若多人协作开发,Map满天飞,那种绝望只有经历过的人才懂。新版多表配置界面如下:
使用方法也较为简单,下面是使用示例:
现在数据库中有两个表,teacher和student,teacher和student为一对多的关系,现在我们要根据teacher的name(名字不可重复)查询他手下所有student的id和name:
teacher表:

student表:

对应的配置如下:

关联表信息区域配置表与表之间的关系,查询字段区域添加需要在前台显示的字段,条件字段区域添加where条件中的字段,生成代码后会在前台查询条件区域显示,固定值代表如果where条件中有需要写死的条件,比如代表信息是否被删除的deleteflg,则可以直接配置为固定的值比如0,生成代码后sql中即为deleteflg = 0。
配置完毕,去往主界面生成代码即可:

这里选择了前后端分离主题,导入idea/eclipse,后台结构如下:

前台结构如下:

直接打开login.html运行即可,登录进入主页,多表部分的功能已经生成:

总体就是这样,但我感觉多表模块其实较为鸡肋,实际开发中的sql比这个要复杂的多,所以日后想增加一个自定义sql模块,灵活生成。
自定义实体
这个功能没什么好说的,根据配置就可以生成对应的实体,如下:
杂谈
接下来换换脑子,我想随便聊聊,入行三年有余,从编程小白成长到现在,一路也算充满波折,记得当年刚学Java,大冷天抱着电脑调试cmd窗口,打印出一个杨辉三角内心都充满成就感。
基础学完,开始学习Web框架,相信很多朋友接触的首款Web框架便是SSH,我也不例外,虽然现在已经过时,但却不可否认它为互联网开发所带来的贡献,当初学完感觉自己已然无敌,自信满满,但后来随着学习的不断深入,才发现自己的渺小,Java的知识体系实在是太庞大了,让我顿感无力,并且新技术层出不穷,实在无法面面俱到。学的越多,懂得越少,那时候我了解到这才是真理,但也因此激起了我对知识的渴望,相信我,每天坚持学习,随着时间的流逝,学习会成为一种习惯,会成为你生活中的一部分。
基础永远是最重要的,它会决定你的上限。JDK中的JUC包需要我们对其有个较深入的了解,例如synchronized的原理,锁升级过程,ReentrantLock和synchronized的使用场景,CAS算法,AQS队列等。JVM同样重要,只有了解了JVM的内存结构和运行机制才可能具备性能调优的能力,推荐阅读经典书籍《深入理解Java虚拟机》,这样当我们遇到服务器CPU占用过高,程序卡顿,卡死,响应慢的问题时可以利用堆栈信息和垃圾回收日志迅速定位问题代码,制定相应的解决方案,否则可能会束手无策。
干这一行本来就是一个不断学习,自我提升的过程,放松了,别人就会赶超,时间久了就会被淘汰,弱肉强食,适者生存,这是亘古不变的生存法则。
成功大多源于兴趣使然,如果对编程没有兴趣,入行会让你痛苦、迷茫,无法前进,哪怕只有一点点兴趣,都能让你有一个好的发展,兴趣是最好的老师。
如果有富裕的时间,推荐学习一下Golang,以后可能会派上大用场!
结语
最后,生活不易,且行且珍惜,希望我们都能快乐度过每一天,收获属于自己的小美好!
喜欢的朋友可以关注公众号 螺旋编程极客 获取 代码生成器 和 第一时间内容更新
Java代码生成器多表配置优化,增加自定义实体功能的更多相关文章
- JPA使用nativequery多表关联查询返回自定义实体类
本文为JPA的学习采坑,如有问题欢迎指正. JPA官方推荐的多表关联查询使用不便,接触的有些项目可能会使用JPA 做简单查询,Mybaits做复杂查询.所以想要寻找一种好用的解决方案. JPA多表关联 ...
- 使用Java语言开发微信公众平台(八)——自定义菜单功能
随着上一篇文章的结束,我们已经实现了所有消息的类型的回复功能.今天,我们来学习更加高大上,也更加重要的自定义菜单功能. 一.了解自定义菜单 自定义菜单是微信公众平台最常用也是最重要的功能之一.根据微信 ...
- 仿EXCEL插件,智表ZCELL产品V1.6 版本发布,增加自定义事件功能
详细请移步 智表(ZCELL)官网www.zcell.net 更新说明 这次更新主要应用户要求,主要解决了单元格值变化时事件的支持,并新增了按单元格名操作的相关API,欢迎大家体验使用. 本次版本更 ...
- 为JQuery EasyUI 表单组件增加“焦点切换”功能
1.背景说明 在使用 JQuery EasyUI 各表单组件时,实际客户端页面元素是由 JQuery EasyUI 生成的,元素的焦点切换,虽然 Tab 键可以正常用,但顺序控制属性 tabinde ...
- mysql增加自定义函数功能
mysql默认是不能自定义函数的 当create function时 This function has none of DETERMINISTIC, NO SQL, or READS SQL DAT ...
- JAVA Spring 简单的配置和操作 ( 创建实体类, 配置XML文件, 调试 )
< 1 > 实体类 Person package java_spring.modle; /** * 一个实体类( Person ) */ public class Person { pri ...
- 梦想CAD控件自定义实体实现
一.增加自定义实体对象 调用DrawCustomEntity函数,绘制一个自定义实体对象. 下面代码绘制一个自定义实体,C#代码实现如下: private void DrawMlineCommand( ...
- CAD控件:COM接口实现自定义实体
1. 实现步骤: 3 1. 实现步骤: 参考例子 :Src\MxDraw5.2\samples\ie\iedemoTest.htm 1) 增加自定义实体对象 调用DrawCustomEntity函数, ...
- CAD控件使用教程 自定义实体的实现
自定义实体的实现 1 . 自定义实体... 3 1.1 说明... 3 1.2 类的类型信息... 3 1.3 worldDraw.. 4 1.4 ...
随机推荐
- SQLi —— 逗号,空格,字段名过滤突破
前言 出于上海大学生网络安全大赛的一道easysql,促使我积累这篇文章.因为放了大部分时间在Decade和Babyt5上,easysql一点没看,事后看了WP,发现看不懂怎么回事,于是了解了一番. ...
- SQL Server 之T-SQL基本语句 (3)
继续来用例子总结sql基本语句用法. 在这里在建一个表:课 课程名 上课时间 数学 周一 数学 周二 数学 周三 语文 周一 语文 周二 英语 周一 数据分组:GROUP BY select 课程 ...
- linux下文本三剑客之sed
继上一篇对正则表达式以及linux三剑客grep的讲解后,这一篇对sed重点介绍. 一.sed简介 sed表示流编辑器(Stream Editor).这是一个简单但功能强大的工具,分析文本,并无缝 ...
- JWT验证机制【Python版Flask或自己写的后端可以用】【刘新宇】
JWT Json Web Token(JWT) JSON Web Token(JWT)是一个非常轻巧的规范.这个规范允许我们使用JWT在两个组织之间传递安全可靠的信息. 官方定义:JSON Web T ...
- python慎用os.getcwd() ,除非你知道【文件路径与当前工作路径的区别】
当你搜索 "获取当前文件路径" 时,有的文章会提到用os.getcwd(),但是这玩意要慎用! 废话不多说,直接上例子: E:\program_software\Pycharm\y ...
- 数据包的抓取[tcpdump]的应用
[root@server ~]# yum install tcpdump [root@server ~]# yum install wireshark 1.默认情况下,直接启动tcpdump将监视第一 ...
- REDHAT7进入单用户模式
Redhat7采用的是grub2,和Redhat6.x进入单用户的方法不同. 一.init方法 1.centos7的grub2界面会有两个入口,正常系统入口和救援模式: 2.修改grub2引导 在正常 ...
- Gym 101194F Mr. Panda and Fantastic Beasts
#include<bits/stdc++.h> using namespace std; #define ms(arr,a) memset(arr,a,sizeof arr) #defin ...
- 全网最清晰的ConstraintLayout教程
ConstraintLayout是AndroidStudio2.2新增的一个功能,那么这个到底是什么呢?首先第一点我们知道传统的安卓开发,页面基本都是XML编写实现,特别在一些复杂的页面上需要嵌套多层 ...
- P1465 序言页码 Preface Numbering (手推)
题目描述 一类书的序言是以罗马数字标页码的.传统罗马数字用单个字母表示特定的数值,以下是标准数字表: I 1 V 5 X 10 L 50 C 100 D 500 M 1000 最多3个同样的可以表示为 ...