前言

  最近利用零碎的时间对代码生成器做了进一步更新:优化多表配置模块,增加自定义实体功能,美化单表和多表配置的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代码生成器多表配置优化,增加自定义实体功能的更多相关文章

  1. JPA使用nativequery多表关联查询返回自定义实体类

    本文为JPA的学习采坑,如有问题欢迎指正. JPA官方推荐的多表关联查询使用不便,接触的有些项目可能会使用JPA 做简单查询,Mybaits做复杂查询.所以想要寻找一种好用的解决方案. JPA多表关联 ...

  2. 使用Java语言开发微信公众平台(八)——自定义菜单功能

    随着上一篇文章的结束,我们已经实现了所有消息的类型的回复功能.今天,我们来学习更加高大上,也更加重要的自定义菜单功能. 一.了解自定义菜单 自定义菜单是微信公众平台最常用也是最重要的功能之一.根据微信 ...

  3. 仿EXCEL插件,智表ZCELL产品V1.6 版本发布,增加自定义事件功能

    详细请移步 智表(ZCELL)官网www.zcell.net 更新说明  这次更新主要应用户要求,主要解决了单元格值变化时事件的支持,并新增了按单元格名操作的相关API,欢迎大家体验使用. 本次版本更 ...

  4. 为JQuery EasyUI 表单组件增加“焦点切换”功能

    1.背景说明 在使用 JQuery  EasyUI 各表单组件时,实际客户端页面元素是由 JQuery EasyUI 生成的,元素的焦点切换,虽然 Tab 键可以正常用,但顺序控制属性 tabinde ...

  5. mysql增加自定义函数功能

    mysql默认是不能自定义函数的 当create function时 This function has none of DETERMINISTIC, NO SQL, or READS SQL DAT ...

  6. JAVA Spring 简单的配置和操作 ( 创建实体类, 配置XML文件, 调试 )

    < 1 > 实体类 Person package java_spring.modle; /** * 一个实体类( Person ) */ public class Person { pri ...

  7. 梦想CAD控件自定义实体实现

    一.增加自定义实体对象 调用DrawCustomEntity函数,绘制一个自定义实体对象. 下面代码绘制一个自定义实体,C#代码实现如下: private void DrawMlineCommand( ...

  8. CAD控件:COM接口实现自定义实体

    1. 实现步骤: 3 1. 实现步骤: 参考例子 :Src\MxDraw5.2\samples\ie\iedemoTest.htm 1) 增加自定义实体对象 调用DrawCustomEntity函数, ...

  9. CAD控件使用教程 自定义实体的实现

    自定义实体的实现 1 .       自定义实体... 3 1.1      说明... 3 1.2      类的类型信息... 3 1.3      worldDraw.. 4 1.4      ...

随机推荐

  1. element动态添加表头的正确姿势

    1. 第一步循环 el-table-column <el-table-column v-if="item.show" v-for="(item, index) in ...

  2. linux--配置开发环境 --Apache篇

    现在我的的linux服务器上一般都是使用:Apache 和  Nginx 这两种配置. 你现在安装好了,启动了,也无法通过你服务器绑定的网址访问你的网站. 这是你可以通过这个命令查看一下你的80端口: ...

  3. Linux网络服务第一章Linux网络基础设置

    1.笔记 systenctl restart network:重启网卡网络服务 bash:刷新主机名称 netstat:查看网络状态 route -n:不做地址解析 mii-tool eno16777 ...

  4. 27.rm命令

    rm命令可以删除指定的文件或目录.也可以将某个目录及其下属的所有文件及其子目录均删除掉.对于链接文件,只是删除整个链接文件,而原有文件保持不变. 选项:-f:强制删除. -r:递归处理,将指定目录下的 ...

  5. 《OSPF和IS-IS详解》一1.5 ARPANET内的路由选择

    本节书摘来异步社区<OSPF和IS-IS详解>一书中的第1章,第1.5节,作者: [美]Jeff Doyle 译者: 孙余强 责编: 傅道坤,更多章节内容可以访问云栖社区"异步社 ...

  6. flutter中使用redux之多界面互动

    在上一篇文章,我们介绍了如何在flutter中使用redux.在上一篇文章的例子中,我们使用了单界面集成redux,但是在实际项目中,我们通常涉及多个模块,每个模块涉及多个界面,那么如何使用redux ...

  7. Math.Round和四舍五入

    Math.Round方法并不是像想象中的四舍五入, 可以从下面的输出结果看出来: Math.Round(3.44, 1); //Returns 3.4. Math.Round(3.45, 1); // ...

  8. Git经典学习指南

    https://www.liaoxuefeng.com/ 转载于:https://blog.51cto.com/4402071/1977945

  9. python基础1习题练习

    python基础1习题练习: #encoding:utf-8 #1.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败! name=input('na ...

  10. chrome清除缓存、不使用缓存而刷新快捷键

    Ctrl+Shift+Del  清除Google浏览器缓存的快捷键 Ctrl+Shift+R  重新加载当前网页而不使用缓存内容 转载于:https://www.cnblogs.com/JAVA-ST ...