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 ...
随机推荐
- 排序1 - 选择排序 & 插入排序
请原谅我没有按照之前图片的分类来介绍排序算法,先说最简单的两种排序算法(冒泡略过),选择排序和插入排序,之前老是容易记混.默认输出升序的序列啊,哈哈. 选择排序 对于输入长度为n的数组,一共比较n-1 ...
- 用多线程,实现并发,TCP
首先,开启新的线程,是不会新开辟内存空间的,即,子线程和主线程 都在同一个进程里,也就是主进程里,用os.pid(),os.ppid() 服务器: 方式一:Thread实例化 def task(con ...
- python 进阶篇 浅拷贝与深拷贝
阐述引用.浅拷贝和深拷贝前,首先需要要了解 Python 的世界里,一切皆对象,每个对象各包含一个 idendity.type 和 value. 引用(Reference) >>> ...
- 《JAVA8开发指南》使用流式操作
为什么需要流式操作 集合API是Java API中最重要的部分.基本上每一个java程序都离不开集合.尽管很重要,但是现有的集合处理在很多方面都无法满足需要. 一个原因是,许多其他的语言或者类库以声明 ...
- html+css的用户注册界面
注册界面样图 代码实现 html部分 <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- 微软开放 Build 2020 免费注册
微软已经开放 Build 2020 线上开发者会议注册,https://mybuild.microsoft.com/.Build 2020 会议将于 5 月 19 日至 20 日召开,核心内容都是围绕 ...
- TCP连接过程及报文解析
可能大家都听过TCP建立连接时需要经历三次握手和四次挥手的. 那么具体的握手挥手的过程是怎么样的呢? 这篇文章就通过WireShark抓包来了解TCP连接建立和断开的过程. 实验方法: 写一段简单的代 ...
- layui表格参数
layui表格对数据进行用table样式展现 举个例子: <!doctype html> <html> <head> <meta charset=" ...
- FreeRTOS-Qemu 实现三任务同步通信机制以及API信息
1. 本次作业的考察要点: 作业地址:github.com/HustWolfzzb-Git/GCC/GDB/QEMU等工具的使用.FreeRTOS多任务同步和通信机制的掌握. 2. 编程作业: 在gi ...
- python(For 循环语句)
一.For循环 Python for 循环可以遍历任何序列的项目,如一个列表或者一个字符串或者字典等. 语法模式:for var in sequence: (1)从某个集合(列表等)里顺次取值 #遍历 ...