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 ...
随机推荐
- TeamViewer11 万全免费
下载地址:百度网盘 c4xm TeamViewer 是一款简单易用且功能强大的远程控制软件,它能穿越内网,摆脱路由器或防火墙的限制,任何一方都不需要拥有固定IP地址.让不懂技术的朋友也能远程控制电脑, ...
- 新建MapReduce项目
添加各种jar包 /usr/local/hadoop/share/hadoop/.. 这几个文件夹下的jar包以及它们子目录lib下的所有jar包 将/usr/local/hadoop/etc/had ...
- HTTP 前世今生
HTTP 协议在我们身边随处可见,只要上网就离不开它.不论是用浏览器还是 App,不论是看新闻.短视频还是听音乐.玩游戏,后面总会有 HTTP 在默默为你服务. Http 协议是怎么来的?最开始是什么 ...
- Discuz的文件目录解析
最近在学习discuz,对这个不了解的 可以参考 http://www.cnblogs.com/hgj123/p/4641845.html
- 点击Qtableview表头,触发事件
connect(horizontalHeader(), SIGNAL(sectionClicked(int)), this, SLOT(onHeaderClicked(int))); refer to ...
- StringBuilder、StringBuffer分析比较
StringBuilder.StringBuffer源码分析 StringBuilder源码分析 类结构 public final class StringBuilder extends Abstra ...
- Spring5参考指南:JSR 330标准注解
文章目录 @Inject 和 @Named @Named 和 @ManagedBean 之前的文章我们有讲过,从Spring3.0之后,除了Spring自带的注解,我们也可以使用JSR330的标准注解 ...
- Linux网络服务第三章远程访问及控制
1.笔记 655355:端口限制 监听地址:对外提供服务的地址 AllowUsers:仅允许用户登录 DenyUsers:仅禁止用户登录 AllowUsers-用户名-公网地址 ssh/id_rsa. ...
- 【Linux常见命令】ip命令
ip命令是用来配置网卡ip信息的命令,且是未来的趋势,重启网卡后IP失效. ip - show / manipulate routing, devices, policy routing and tu ...
- WebRTC 及点对点网络通信机制
原文请查阅这里,略有删减,本文采用知识共享署名 4.0 国际许可协议共享,BY Troland. 这是 JavaScript 工作原理第十八章. 概述 何为 WebRTC ?首先,字面上已经给出了关于 ...