人人开源之代码生成器(renren-generator)
本篇文章,主要包含三个部分,介绍、代码生成演示、代码分析(不会很深入)等
三个部分足以让你学会使用,实际生产可能遇到的问题不会在这遇到。
代码生成器的作用在于提高开发效率。但是这个代码生成器仍有其局限性,因为它并不具有多表和级联相关的代码生成。只能针对单一的表而言。这是一个比较大的局限性。
一、介绍
Renren-generator代码生成的思想主要是通过volocity模板并打成zip包的形式。
它的技术栈主要如下:

技术栈所包含的可以说,是我们绝大多数Java程序员比较熟悉的。
所以对于学习来说,成本并不高。特别具有技术栈所包含技术的使用经验的人。
项目结构如下:

二、代码生成演示流程
前提:本地必须要有renren-security这个项目。可以通过git clone的方式或者是下载解压后导入本地。
1.运行renren-generator中的启动类

2.运行成功后,在浏览器输入地址:http://localhost:8082/renren-generator,如下图

3.选择对应的表,比如你新建的表

4.生成对应的zip包

5.将其复制到对应的文件夹下解压

6.代码生成后,所要做的流程是
(1) 将Java代码和对应的xml按照分类放在对应的包下

(2) 前端代码按照分类放在对应的文件夹下

(3) 执行sql脚本

打开goods_menu.sql文件,复制里面的内容,打开本地的数据库客户端工具(sqlyog或navicat),选择对应的数据库执行。
(4) 运行renren-admin(这个renren-admin可以理解为咱们的多租户项目),登录进入系统后台,会发现出现一个商品管理

(5) 为了保险起见,测试对应的新增、修改、删除功能,发现都能正常执行无报错信息,就表示这个流程是OK
三、生成代码分析
(1)sql脚本

(2)entity代码

与MyBatis-Plus一致,刚好我们有使用MyBatis-Plus经验,可以无缝的过度过来,毫无技术成本
(3)dao代码

同(1)所说
(4)service代码

与(1)一样,不同的是增加了一个分页
(5)service实现类代码

与(3)一致
(6)controller代码

生成的controller具有列表展示、添加、删除、单查询、修改等,不需要再手动编写
(7)xml代码

同原来的MyBatis-Plus并无多大的区别
(8)js代码

主要采用的是Vue.js(2.0版本)
(9)HTML代码

主要采用了volocity模板引擎和vue.js
人人开源之代码生成器(renren-generator)的更多相关文章
- 人人开源框架使用 renren fast
参考地址人人开源官网: https://www.renren.io/guide/ 1.介绍 1.1.项目描述 renren-fast 是一个轻量级的 Spring Boot 快速开发平台,能快速开发项 ...
- 人人开源之renren-security
renren-security,从这周开始我将要对其比较详细的研究,之前的研究只不过是比较浅的.正如在这篇文章读读<编写高质量代码:改善Java程序的151条建议>中说过不要重复造轮子. ...
- 关于人人开源renren-fast-vue 中npm install各种报错的解决方案
首先吐槽一下,因为这个问题我整了好几天,把报错信息复制百度,试遍了各种方法,node.js我是卸载了安装,安装了卸载,甚至renren-fast-vue我也删了再下,然后再删,无限循环.然而没有什么软 ...
- mybatis自定义代码生成器(Generator)——自动生成model&dao代码
花了两天的时间研究了下mybatis的generator大体了解了其生成原理以及实现过程.感觉generator做的非常不错,给开发者也留足了空间.看完之后在generator的基础上实现了自定义的生 ...
- mybatis代码生成器——MyBatis Generator
1.maven依赖 a.加入依赖 <!-- mybatis生成工具 --> <dependency> <groupId>org.mybatis.generator& ...
- 人人开源分模块,非原生html报错,很难查找问题所在,有vue语法
<!DOCTYPE html> <html> <head> <title>学生表</title> #parse("sys/head ...
- 人人开源打包jar
先在renren-security执行mvn clean install 再到renren-admin目录下,执行mvn clean package,就可以打成renren-admin.jar 如果想 ...
- springboot完整项目,基于人人开源框架
这是前端和数据库 下载链接只有31天有效,需要的,请联系QQ2319899766 下载链接密码: 9ksz 这个是后端代码 链接只有31天有效时间,链接失效请联系QQ2319899766提供下载链接 ...
- MP实战系列(一)之入门框架搭建和使用
mybatis plus官网:https://github.com/baomidou/mybatis-plus 上面有对应的实际例子,直接导入即可用. mybatis plus官方的怎么介绍,我就不在 ...
随机推荐
- 十、获取异步线程返回值Callable
一.简介 异步线程的实现接口Runnable是无法获得返回结果的,而另一个接口Callable可以返回结果.并通过如Future等方式来获取异步结果. 二.代码示例 import java.util. ...
- IO实战-RandomAccessFile在本地实现伪断点续传
准备:在磁盘中 准备一个目录文件 实现:将该文件复制到目标路径中,关掉程序,再重新打开可以在原位置继续复制. 需求如下: 过程中显示文件的拷贝的百分比 复制过程中关掉程序. 重新启动该程序时,若上次没 ...
- [LeetCode] Binary Tree Postorder题解
Binary Tree Postorder Given a binary tree, return the postorder traversal of its nodes' values. For ...
- lincode 题目记录6
the Duplicate Number 132 PatternFind 找重复的数字··直接暴力枚举是不行的···又超时提示·· 暴力枚举的写法· res=0 def findDuplicate( ...
- Wasserstein GAN最新进展:从weight clipping到gradient penalty,更加先进的Lipschitz限制手法
前段时间,Wasserstein GAN以其精巧的理论分析.简单至极的算法实现.出色的实验效果,在GAN研究圈内掀起了一阵热潮(对WGAN不熟悉的读者,可以参考我之前写的介绍文章:令人拍案叫绝的Was ...
- Two ways to assign values to member variables
setXxx()方法,带参数的构造方法.类名作为形式参数,其实里面需要传入一个该类的对象.类名作为返回值,其实返回的是一个该类的对象.
- spring+quarts常见问题
javax/transaction/UserTransactionCaused by: java.lang.NoClassDefFoundError: javax/transaction/UserTr ...
- js重名的处理
### 关于重名的处理 > 在变量提升阶段,如果名字重复了,不会重新的进行声明,但是会重新的进行定义(后面赋的值会把前面赋的值给替换掉) ```javascript //=>变量提升:fn ...
- Protocol Buffer学习笔记
Protocol Buffer Protobuf基础概念 Protobuf是google开发的数据结构描述语言,能够将结构化数据序列化与反序列化,取代json和xml,常用于服务器通信协议.RPC系统 ...
- xml-treeview转换
XML——>treeciew using System; using System.Collections.Generic; using System.Text; using System.Wi ...