建表字段不能重复_十小时代码量一小时搞定,告别重复劳动,网易后端教你这样做...

今天我们不谈分布式,也不讲高并发,更不讨论任何高深的技术话题。我们来讨论下,如何作为一个普通的后端开发工程师,以最快的速度来完成产品经理的最简单常用的需求。

前言

企业为了生存,就需要不停的开发新功能新项目,出色而又快速的完成这些需求才是我们软件工程师的使命和价值体现。因为大家都知道,当我们把性能和优化做到极致的时候,瓶颈就会出现。日常开发中并非都是架构,核心模块编写,也有很多工作是基础编码,虽然编辑器已经提供了优越的便利性,但这远远不够,因为编辑器看不懂产品经理的需求。而日常工作中开发功能占据了我们80%的时间,在这80%中每日构建编译代码又会占据20%的时间,剩余60%的时间就是复制修改,调试bug,每日真正的在写新代码的时间能保证30%已经算高效了,本文的目的就是将30%无限提升并接近至80%,让那些繁琐的重复劳动无限降低至0%。

需求-工欲善其事

请问下面的需求如果要我们后端工程师实现,您会花多长时间?

我先透露下,类似下面的功能。如果是我只需要花30分钟,便可上线发布。

如果您预估需要花费30*10倍=5个小时 我是不是将您的编码速度提高10倍了,如果你需要一周开发下面的功能,那貌似时间有点长,那就100倍了 。

(请使用上你已经掌握的任何技术和工具,以最快的速度开发出来并且保证代码的通用性和持续可维护性)

简单举个需求场景

创建一个模拟学校的功能 很多时候我们的开发功能都跟下面的场景类似,关系型数据库开发功能

界面功能:需要各种验证 各种表单 等等 各种外键关联功能

A 学校列表

a2dfa0c0209b3676ece6f47290b38fc0.png

编辑学校

2541d0bd97e684867cdeb1aee8f31f2f.png

B 班级列表

8195bc500a06765a729b74111c95c422.png
809e8f9f755ef6df335733febdb161a2.png

C 教师列表

dacf1387cc726baea31ff7e68088ef0f.png

详情页省略

D 班级关联教师外键列表

d375ddabfa49556189cff5587a858b54.png
3b619efe5fdf116b57f15c8c0e420bfe.png

E 高级编辑一对多功能

aa2aed84e85d24af1f6ec32820eeca05.png

列表页已支持excel导出 json导入导出功能

API接口功能:专门给客户端调用的http接口

1 学校查询接口

2 获取班级列表

3 获取教师列表

工具--必先利其器

好了 不再卖关子啦~以上功能只要预先建立好列表结构,配合工具,就可以一键生成。

简单花点时间使用下这个工具,就能达到前面说的10倍甚至更高开发效率。

入门使用工具您需要掌握的技能

会下载、会双击、会拖拖拽拽,只要你是个产品经理,完全可以自己来开发,让开发工程师一边呆着去吧。

熟练开发你需要掌握的技能

mysql tomcat maven idea编辑器 springmvc3 mybatis java ,浏览器请选择webkit内核的浏览器,如chorme firefox。不要用ie,后台采取的是bootstrap。下面预览一下软件功能吧,实际效果以下载软件为准,MagicalCoder-all文件夹包含本套所有软件,你本地无需下载eclipse或者idea tomcat jdk等到一切软件已经集成进来,只需要根据操作文档简单的点几个按钮 项目就可以在本地跑起来了,并且实时生成新的代码,体验新的功能。

第一步 最快速度跑起来上面的需求项目

大家可以参考项目搭建教程自行搭建起来( 项目中有搭建教程 ) 这个指的是开发环境,包中已经集成运行环境,无需搭建即可体验

1 解压缩文件 请保证目录无中文

15f9f9b8787c9a511a162d9a538bb052.png
103505286dd82f86bf1e5dc6d66c9ef1.png

a、双击project,打开projectyouyamvcyouyamvc-web 导入youyamvc.sql到mysql中

b、双击第一步编译项目.bat 这一步会持续很久,也许片刻,取决您的网络环境,需要下载maven依赖,下一次点击就会很快了,因为包已经下载完毕

1 如果你有内部仓库地址 也可以刚刚maven setting配置

2 有些人网络环境不佳 下载maven 依赖很慢,建议采取备用方案 打开youyamvcpom.xml 注释打开 换个仓库进行更新

c 、启动项目.bat 启动tomcat 启动成功后,浏览器输入http://localhost:8080/admin admin/admin即可登录进入

你也可以来更改项目名称,一般请按照数据库名称来定项目名称,首次使用建议先使用默认的

com.magicalcoder.youyamvc.web.readme.ChangeProjectName.java

第二步 深入了解软件使用 定制业务功能

假设您已经搭建好youyaMvc,就可以进行第二阶段的使用工具了,因为工具编写出来的代码 都是基于youyaMvc的结构

使用youyajfx客户端 自动生成代码 首先确认你的网络正常 如果要代理 有可能软件无法使用

下载解压后目录如下,这是一个基于javaFX技术开发的客户端软件 双击 window启动.vbs

c32525a32a6c2e620d8022b71066c3f5.png

1 登录

628f921e694a4cf3ca0343b8f6c63214.png

第一次使用 点击免费注册 然后再回头登录

2 连接Mysql数据库 这样配置正确 软件就打开了你本地的数据库 在左侧栏目会有很多数据库 目前仅支持mysql

3267879edfe5389cf26262e6d412850e.png

3 打开你的数据库 点击左侧数据库 表结构就显示在右侧 选择代码保存目录和项目编码

先设置项目集成包结构 如果数据库从未同步过 或者第一次使用 请先随便点击一个表生成代码 进行预同步,然后再来设置此包结构

8233a8ad49a1237cf429fa101ff610c9.png

代码保存目录 可以选择刚刚project目录下的youyamvc目录 projectyouyamvc

63b49483f47e98161618c872115f845c.png

4 确定您的每个表已经有一个自增主键 这个是必须的 主键名称可以自定义

目前版本必须有自增主键 每个表建个自增主键也不是什么坏事

`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '学校主建',

5 开始愉快地编程吧

6 恭喜至此 您已经得到了大部分代码 但是这个代码仅仅具有一个基础功能 我们还要根据自己的业务来定制功能

7 在线编程

07ad7ef9c8ce51ec97f602afc1005bc9.png

右侧模块介绍:

a 表基本信息 表注释必填

1ca006c4ab7efcdfabb8c9268ef28b16.png

b 表单属性 这里决定详情页表单的格式 value 的值:type=select或者radio的时候 需要输入json数值

6e259b2e953b9f4bceba8abb9f22e413.png

c 表单验证 支持自定义正则规则

ce2bc98e376f3abf8e583e30e1ba3d64.png

d 查询条件

557f64c74e6774ac39e7d30b54866c8e.png

e 排序

fbf2cb2995ee0f2251b95feff6caf913.png

最后保存工程

8 回到数据库界面 重新编码 你的功能才会生效

9a4517e381d77c0e0c6f8e034c4f1906.png

9 想必很多人都在疑问 功能里面演示的外键字段如何处理 这才是大家更关心的 下面我专门给大家介绍下 如何配置外键

首先 编辑表字段 这里的生成代码 大家就不要点击了 是给在线编辑的人使用的 我们有了客户端软件 无需再要了

我们以班级表为例 班级表有个外键 school_id

33eb3340009aa94119ed1d553ea72257.png

点击编辑

然后进入shool工作区

e6b78868981df8bd243cd519611c0c68.png

这样像下面这种外键下拉就自动做好了 当然上面你也可以选多个查询条件

060b3bdef127011ef8dbc14728897244.png

至此 工具大部分使用方法都已经介绍完毕 对于外观配置确实繁琐了点 相信以后大家将无需再配置外键 软件会自动帮助大家完成配置

更多功能

问题1 什么 你没看懂!!!!!!!!!!

其实上面一大堆叙述就是为了说明 所有的增删改查功能 可以用软件来自动实现,只要你建立好了外键约束,生成出来的代码也具有外键的友好展示,生成了很多外键关联的sql语句,接口api等等,这些基础工作都不用咱们再重复写一遍啦,直接拿来就可以使用,要是需求有变更 加个什么字段,外键字段等等,点一下按钮重新生成一遍,就不用再回头一个个的找代码去修改啦 所有的配置都跟用户有关,你可以去任何地方 继续开发 而不必受限于当前计算机

文章顶部下载地址 视频教程专门为您详细演示了如何使用软件

问题2:代码生成工具生成的代码都是死的 很难维护和扩展!

NO,深入使用MagicalCoder你会发现 只要按照规定 把个人的代码使用标签保护起来,可以实现自动合并,另外代码风格固定,每个工程师都能看懂,大家按照一个标准来沟通和二次开发

问题3: 软件跨平台吗

是的 为了跨平台,客户端软件采取javaFx编写 javaFx挺赞的 还可以部署到android ios上 不过目前先集成了windows平台 其它平台可以自行下载jdk替换

问题4:我能自定义模板吗

当然可以,不过编写模板耗时费力,还要熟悉整个系统的层次架构,不是个简单的活,初次体验还是使用默认模板吧

如果您的开发团队还不足10人,使用这个工具完全可以实现接近十几个人在干活。如果是大项目大团队,应该有自己的积累啦,或许这个工具那个时候当辅助最合适不过了。

篇幅有限更多详细介绍可以参考咱们的有道云笔记 http://note.youdao.com/noteshare?id=92906c42fe9b1c0c7784e99485e0df14

第三幕 落幕

还有很多智能的功能需要做上去,我也将会一直持续不断的更新着。在我的日常工作中,创作并应用此软件给我的工作带来了极大的效率,所以分享出来供大家使用,共同进步。对于一个刚出校门的开发者 可能这样的工具不太适合成长,但是对于一个拥有多年工作经验的开发者而已,这种工具无异于解万民于水火,将我们从繁重的反复劳动中解脱出来,从而拥有更多的精力来致力于更有挑战性的工作中。同时也大大加快了产品经理需求实现的速度。打开生成的代码,不难看到,已经为我们生成了很多可用的数据库操作接口。针对频繁的数据库增删字段来适应需求变更的场景 更是是否方便的实现代码重构。生成的代码 可以很方便的进行二次开发 不过一般管理后台的功能也差不多够用了,只要不破坏页面对编辑器只读属性,就可以一直享受自动生成的代码带来的便利性和新功能。

如果对我的文章感兴趣,希望可以得到您的一个点赞关注,这将是对我最大的鼓励和支持,感谢~另外,私聊我【Java】可以收获互联网大厂Java面经和丰富资料~更有免费Java直播课等着你~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值