javaweb代码生成器,专注于javaweb项通用目的代码生成器
该项目为javaWEB项目通用代码生成器,根据数据库表和自定义代码模板生成相应的jsp,js,java文件,生成到指定路径下,javaweb项目开发利器;
项目开源地址:https://gitee.com/okrs.cn/CodeGenerator
代码生成器:
该项目为代码生成器 基于Apache Velocity的 Java模板引擎
base_build文件夹为最原始代码
为整理后的版本
执行:
com.mmk.BaseApplication.java或生成jar包:run Maven intall
访问路径:http://localhost:10001/codeUI/index.html
不可用ip 访问
登录界面输入的是作者
模板加载地址:
resources/static/template.json
添加模板地址:
src/main/resources/
com.mmk.code.common.PropertyNameTools.java 设置表初始加载的时候数据库字段类型对应的实体字段类型
#foreach($field in $fieldList)
#if($!{velocityCount}==$!{fieldList.size()})//当循环到最后一个时
" s.${field.columnName}"+
#else
" s.${field.columnName},"+
#end
#end;
$fieldList 字段列表
${field.comment} 字段描述
${field.columnName}数据库字段名称
${field.inputType} 数据库类型
${field.validate}
${field.field} 实体字段名称
${field.fieldUp} 实体字段名称大写
${field.type} 实体字段类型
$field.findBy) 启用特殊方法findBy
以上对应字段值设置
\resources\static\codeUI\app\store
${field.inputType}=="input"
#if($field.validate=="mobile")lay-verify="phone"#elseif(!$field.nullable)lay-verify="required"#end
#if( $field.type == "Date")
${model.packageName}.${model.modulePackage}
${model.model}大写 实体名字
${model.modelL}首字母小写 实体名字
${model.comment}
*@author ${model.author} ${date}
${model.tableName} 数据库名字
表单验证:
<input type="text" name="${field.field}" placeholder="请输入${field.comment}" autocomplete="off" data-rule="${field.comment};required;#if(${field.validate})${field.validate};" data-msg="不符合规则" #else " #end value="${${model.modelL}.${field.field}}"/>
生成:
<input type="text" name="type" placeholder="请输入违规类型,0-一般,1-严重" autocomplete="off" data-rule="违规类型,0-一般,1-严重;required;number;" data-msg="不符合规则" value="${cbViolateNotice.type}"/>
sql拼接
#if($field.type=="String")
#if($field.matchType == 'any')
sql.append(" and s.name like '%").append(search_name).append("%'");
#elseif($field.matchType == 'eq')
if(StringUtils.isNotBlank(condition.get${field.fieldUp}())){
sb.append(" and ${field.columnName} = ?$!{velocityCount} ");
params.put($!{velocityCount},condition.get${field.fieldUp}());
}
#elseif($field.matchType == 'left')
if(StringUtils.isNotBlank(condition.get${field.fieldUp}())){
sb.append(" and ${field.columnName} like ?$!{velocityCount} ");
params.put($!{velocityCount},condition.get${field.fieldUp}()+"%");
}
#elseif($field.matchType == 'right')
if(StringUtils.isNotBlank(condition.get${field.fieldUp}())){
sb.append(" and ${field.columnName} like ?$!{velocityCount} ");
params.put($!{velocityCount},"%"+condition.get${field.fieldUp}());
}
#elseif($field.matchType == 'dateRange')
if(condition.get${field.fieldUp}Begin()!=null){
sb.append(" and ${field.columnName} >= ?$!{velocityCount} ");
params.put($!{velocityCount},condition.get${field.fieldUp}Begin());
}
if(condition.get${field.fieldUp}End()!=null){
sb.append(" and ${field.columnName} >= ?$!{velocityCount} ");
params.put($!{velocityCount},condition.get${field.fieldUp}End());
}
#end
#else
#if($field.matchType != 'none')
if(condition.get${field.fieldUp}()!=null){
sb.append(" and ${field.columnName} = ?$!{velocityCount} ");
params.put($!{velocityCount},condition.get${field.fieldUp}());
}
#end
#end
模拟文件结构不能更改,删除其中的文件会报错
注意:
1、生成代码的时候会直接覆盖
2、maven 生成的jar包 会存在乱码问题:解决方式:命令行中执行 java -Dfile.encoding=utf-8 -jar APA_BUILD-1.0.0.jar
-------------------------------------------------------------------
1、生成代码的时候会直接覆盖
2、必须设计表的时候
字段填写注释
表上填写注释
3、数据库中设计必须有:id(自增),code(uuid,标识),create_time,create_code,update_code,update_time,del_flag(逻辑删除,1)
-------------------------------------------------------------
javaweb代码生成器,专注于javaweb项通用目的代码生成器的更多相关文章
- Java程序员的两项通用能力
工作这几年来,经历了很多.从小白到中级(手机里有一款叫中国象棋的游戏,里面给对弈中电脑水平分为小白.菜鸟.新手.入门.初级.中级.高级.大师.特级大师,编程我暂且按照这样来区分). 学校教给我的是从小 ...
- JavaWeb学习总结(一)——JavaWeb开发入门
http://www.cnblogs.com/xdp-gacl/p/3729033.html 只为成功找方法,不为失败找借口! JavaWeb学习总结(一)--JavaWeb开发入门 一.基本概念 1 ...
- JavaWeb开发学习(一)-JavaWeb开发概述
1.Web相关概念 Web程序也就是一般所说的网站,由服务器.客户端浏览器以及网络组成.Web程序的好处是使用简单,不需要安装.学习,有一台电脑.一根网线就可以使用.Web程序不是一般意义上的网站.网 ...
- JavaWeb学习总结-01 JavaWeb开发入门
一 基本概念 1 Web开发的相关知识 Web,表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源(如html 页面): ...
- JavaWeb学习总结(一)——JavaWeb开发入门(转载)
转载自http://www.cnblogs.com/xdp-gacl/p/3729033.html感谢孤傲苍狼的分享. 一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意 ...
- JavaWeb学习总结(一)——JavaWeb开发入门(转)
转载自 http://www.cnblogs.com/xdp-gacl/p/3729033.html 一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示In ...
- JavaWeb(一)JavaWeb应用的概念
JavaWeb应用的概念 在Sun的Java Servlet规范中,对Java Web应用作了这样定义:"Java Web应用由一组Servlet.HTML页.类.以及其它可以被绑定的资源构 ...
- JavaWeb学习 (二十)————JavaWeb的两种开发模式
一.JSP+JavaBean开发模式 1.1.jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示
- JavaWeb笔记——三大组件之监听器
1 JavaWeb监听器概述 在JavaWeb被监听的事件源为:ServletContext.HttpSession.ServletRequest,即三大域对象. l 监听域对象“创建”与“销毁”的 ...
随机推荐
- R语言-时间序列
时间序列:可以用来预测未来的参数, 1.生成时间序列对象 sales <- c(18, 33, 41, 7, 34, 35, 24, 25, 24, 21, 25, 20, 22, 31, 40 ...
- java读取数据写入txt文件并将读取txt文件写入另外一个表
package com.xsw.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.F ...
- postman中 form-data、x-www-form-urlencoded、raw、binary的区别
1.form-data: 就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开.既可以上传键值对,也可以上传文件.当上传的字段是文件 ...
- Python基础学习参考(五):字符串和编码
一.字符串 前面已经介绍过字符串,通过单引号或者双引号表示的一种数据类型.下面就再来进一步的细说一下字符串.字符串是不可变的,当你定义好以后就不能改变它了,可以进一步的说,字符串是一种特殊的元组,元 ...
- Xamarin.Android 调用Web Api(通过ListView展示远程获取的数据)
xamarin.android如何调用sqlserver 数据库呢(或者其他的),很多新手都会有这个疑问.xamarin.android调用远程数据主要有两种方式: 在Android中保存数据或调用数 ...
- sublime Xdebug 配置
Sublime Text 配置x-debug 配置php 的x-debug 拓展 下载地址 :http://www.xdebug.org/download.php 放到php ext的目录下 然后使用 ...
- CAN控制器-配置过滤器
首先简单介绍一下CAN总线,关于CAN总线是谁发明的,CAN总线的历史,CAN总线的发展,CAN总线的应用场合,这些,通通不说.这里只是以我个人理解,简单说说CAN通信.CAN总线的端点没有地址(除非 ...
- C#制表符过滤处理方法
C#制表符过滤处理方法,动态替换字符串里面的制表符. /// <summary> /// Descrioption: ///需要替换字符集合,可参见MSDN /// The Trim me ...
- VxWorks启动过程详解(下)
上一节主要是从映像的分类和各种映像的大致加载流程上看VxWorks的启动过程,这一节让我们从函数级看一下VxWorks的启动过程: 1. Boot Image + Loadable Images: 下 ...
- org.apache.jasper.JasperException: /pages/column.jsp (line: 8, column: 1) File "pathTags.jsp" not f
1.错误描述 21-Mar-2015 00:57:40.934 INFO [localhost-startStop-2] org.apache.catalina.core.ApplicationCon ...