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)




 -------------------------------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM