代碼生成器(代碼生成器在線)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于代碼生成器的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具:開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、python 代碼生成器怎么用
生成器是一個包含了特殊關(guān)鍵字yield的函數(shù)。當(dāng)被調(diào)用的時候,生成器函數(shù)返回一個生成器??梢允褂胹end,throw,close方法讓生成器和外界交互。
生成器也是迭代器,但是它不僅僅是迭代器,擁有next方法并且行為和迭代器完全相同。所以生成器也可以用于python的循環(huán)中,
生成器如何使用?
首先看一個例子:
復(fù)制代碼 代碼如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
def flatten(nested):
for sublist in nested:
for element in sublist:
yield element
nested = [[1,2],[3,4],[5,6]]
for num in flatten(nested):
print num,
結(jié)果為1,2,3,4,5,6
遞歸生成器:
復(fù)制代碼 代碼如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
def flatten(nested):
try:
for sublist in nested:
for element in flatten(sublist):
yield element
except TypeError:
yield nested
for num in flatten([[1,2,3],2,4,[5,[6],7]]):
print num
結(jié)果為:1 2 3 2 4 5 6 7
讓我們一起來看看生成器的本質(zhì)
首先看下:
復(fù)制代碼 代碼如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
def simple_generator():
yield 1
print simple_generator
def repeater(value):
while True:
new = (yield value)
if new is not None: value = new
r = repeater(42)
print r.next()
print r.send('hello,world!')
結(jié)果為:
復(fù)制代碼 代碼如下:
<function simple_generator at 0x10c76f6e0>
42
hello,world!
可以看出:
1)生成器就是一函數(shù)
2)生成器具有next方法
3)生成器可以使用send 方法和外界交互。
二、JeeSpringCloud-互聯(lián)網(wǎng)云快速開發(fā)框架
(一款免費開源的JAVA互聯(lián)網(wǎng)云快速開發(fā)平臺)微服務(wù)分布式代碼生成的敏捷開發(fā)系統(tǒng)架構(gòu)。項目代碼簡潔,注釋豐富,上手容易,還同時集中分布式、微服務(wù),同時包含許多基礎(chǔ)模塊和監(jiān)控、服務(wù)模塊。
演示版地址:http://bknfdnl.hn3.mofasuidao.cn/admin/login
一、平臺簡介
在線文檔:https://gitee.com/JeeHuangBingGui/jeeSpringCloud/wikis
視頻和文檔下載:https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files
開源中國地址:https://www.oschina.net/p/jeeSpringCloud
文檔視頻下載:https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files
JeeSpringCloudV3.0-互聯(lián)網(wǎng)云快速開發(fā)框架模塊包含定時任務(wù)調(diào)度、服務(wù)器監(jiān)控、平臺監(jiān)控、異常郵件監(jiān)控、服務(wù)器Down機郵件監(jiān)控、平臺設(shè)置、開發(fā)平臺、郵件監(jiān)控、圖表監(jiān)控、地圖監(jiān)控、單點登錄、Redis分布式高速緩存、
ActiveMQ隊列、會員、營銷、在線用戶、日志、在線人數(shù)、訪問次數(shù)、調(diào)用次數(shù)、直接集群、接口文檔、生成模塊、代碼實例、安裝視頻、教程文檔、dubbo、springCloud、SpringBoot、mybatis、springmvc、IOC、AOP、定時任務(wù)、切面緩存、MVC、事務(wù)管理。
RedisMQ隊列、代碼生成(單表、主附表、樹表、列表和表單、增刪改查云接口、redis高速緩存對接代碼、圖表統(tǒng)計、地圖統(tǒng)計、vue.js)、工作流、模塊化
代碼生成前端控件包括單行文本、富文本、下拉選項、復(fù)選框、日期選擇、文件上傳選擇、樹選擇控件、單選按鈕、多行文本….。
二、平臺功能
用戶管理:用戶是系統(tǒng)操作者,該功能主要完成系統(tǒng)用戶配置。
部門管理:配置系統(tǒng)組織機構(gòu)(公司、部門、小組),樹結(jié)構(gòu)展現(xiàn)支持數(shù)據(jù)權(quán)限。
崗位管理:配置系統(tǒng)用戶所屬擔(dān)任職務(wù)。
菜單管理:配置系統(tǒng)菜單,操作權(quán)限,按鈕權(quán)限標(biāo)識等。
角色管理:角色菜單權(quán)限分配、設(shè)置角色按機構(gòu)進行數(shù)據(jù)范圍權(quán)限劃分。
字典管理:對系統(tǒng)中經(jīng)常使用的一些較為固定的數(shù)據(jù)進行維護。
參數(shù)管理:對系統(tǒng)動態(tài)配置常用參數(shù)。
通知公告:系統(tǒng)通知公告信息發(fā)布維護。
操作日志:系統(tǒng)正常操作日志記錄和查詢;系統(tǒng)異常信息日志記錄和查詢。
登錄日志:系統(tǒng)登錄日志記錄查詢包含登錄異常。
在線用戶:當(dāng)前系統(tǒng)中活躍用戶狀態(tài)監(jiān)控。
定時任務(wù):在線(添加、修改、刪除)任務(wù)調(diào)度包含執(zhí)行結(jié)果日志。
代碼生成:前后端代碼生成(單表、主附表、樹表、列表和表單、增刪改查云接口、redis高速緩存對接代碼、圖表統(tǒng)計、地圖統(tǒng)計、vue.js) ,并生成菜單和權(quán)限直接使用。
系統(tǒng)接口:根據(jù)業(yè)務(wù)代碼自動生成相關(guān)的api接口文檔。
連接池監(jiān)視:監(jiān)視當(dāng)期系統(tǒng)數(shù)據(jù)庫連接池狀態(tài),可進行分析SQL找出系統(tǒng)性能瓶頸。
在線接口文檔:使用swager生成在線文檔。
ActiveMQ隊列:提供ActiveMQ隊列,處理批量發(fā)送大數(shù)據(jù)量郵件、大數(shù)據(jù)量日志文件。
工作流:功能包括在線辦公、我的任務(wù)、審批測試、流程管理、模型管理。
CMS:功能包括內(nèi)容管理、內(nèi)容管理、統(tǒng)計分析、欄目設(shè)置、首頁。
dubbo:代碼生成直接生成dubbo對接代碼。
服務(wù)器Down機郵件監(jiān)控:通過定時任務(wù)監(jiān)控服務(wù)器是否Down機,并發(fā)送通知郵件。
服務(wù)器監(jiān)控:通過 sigar 進行服務(wù)器圖形化監(jiān)控。
異常郵件監(jiān)控:全局攔截系統(tǒng)異常,并發(fā)送通知郵件。
單點登錄:使用shior和Redis、共享session方式實現(xiàn)單點登錄。
Redis分布式高速緩存:代碼生成直接生成Redis對接代碼。
三、系統(tǒng)截圖
JeeSpringCloudV3.0-互聯(lián)網(wǎng)云快速開發(fā)框架(后臺)
四、平臺特性
JeeSpringCloud基于SpringBoot+SpringMVC+Mybatis+Redis+SpringCloud+Vue.js微服務(wù)分布式代碼生成的敏捷開發(fā)系統(tǒng)架構(gòu)。項目代碼簡潔,注釋豐富,上手容易,還同時集中分布式、微服務(wù),同時包含許多基礎(chǔ)模塊(用戶管理,角色管理,部門管理,字典管理等10個模塊。成為大眾認同、大眾參與、成就大眾、大眾分享的開發(fā)平臺。JeeSpring官方qq群(328910546)。代碼生成前端界面、底層代碼(spring mvc、mybatis、Spring boot、Spring Cloud、微服務(wù)的生成)、安全框架、視圖框架、服務(wù)端驗證、任務(wù)調(diào)度、持久層框架、數(shù)據(jù)庫連接池、緩存框架、日志管理、IM等核心技術(shù)。努力用心為大中小型企業(yè)打造全方位J2EE企業(yè)級平臺ORM/Redis/Service倉庫開發(fā)解決方案。一個RepositoryService倉庫就直接實現(xiàn)dubbo、微服務(wù)、基礎(chǔ)服務(wù)器對接接口和實現(xiàn)。
努力用心為大中小型企業(yè)打造全方位J2EE企業(yè)級平臺開發(fā)解決方案。
Spring Boot/Spring cloud微服務(wù)是利用云平臺開發(fā)企業(yè)應(yīng)用程序的最新技術(shù),它是小型、輕量和過程驅(qū)動的組件。微服務(wù)適合設(shè)計可擴展、易于維護的應(yīng)用程序。它可以使開發(fā)更容易,還能使資源得到最佳利用。
微服務(wù)/集群(nignx) 支持REST風(fēng)格遠程調(diào)用(HTTP + JSON/XML):基于非常成熟的Spring Boot框架,在Spring Boot Spring Cloud中實現(xiàn)了REST風(fēng)格(HTTP + JSON/XML)的遠程調(diào)用,以顯著簡化企業(yè)內(nèi)部的跨語言交互,同時顯著簡化企業(yè)對外的Open API、無線API甚至AJAX服務(wù)端等等的開發(fā)。
事實上,這個REST調(diào)用也使得Dubbo可以對當(dāng)今特別流行的“微服務(wù)”架構(gòu)提供基礎(chǔ)性支持。 另外,REST調(diào)用也達到了比較高的性能,在基準(zhǔn)測試下,HTTP + JSON默認的RPC協(xié)議(即TCP + Hessian2二進制序列化)之間只有1.5倍左右的差距,詳見下文的基準(zhǔn)測試報告。
ORM/Redis/Service倉庫
RepositoryORM倉庫,提供ORM接口和多種實現(xiàn),可進行配置實現(xiàn)。
RepositoryRedis倉庫,提供Redis接口和多種實現(xiàn),可進行配置實現(xiàn)。可以配置調(diào)用單機、redis、云redis對接。
RepositoryService倉庫,提供Service接口和多種實現(xiàn),可進行配置實現(xiàn)。一個RepositoryService倉庫就直接實現(xiàn)dubbo、微服務(wù)、基礎(chǔ)服務(wù)器對接接口和實現(xiàn)。
五、架構(gòu)說明
技術(shù)選型
六、代碼生成器
代碼生成器
七、開發(fā)入門
平臺教程:https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files
官方提供:
1、詳細部署文檔。
2、部署視頻。
3、中級培訓(xùn)視頻待定,包括代碼生成、架構(gòu)代碼介紹。
4、高級培訓(xùn)視頻待定,包括架構(gòu)代碼詳解。
5、架構(gòu)培訓(xùn)視頻待定,包括架構(gòu)詳解、代碼生成詳解。
平臺教程:https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files
八、在線體驗
演示版地址:http://bknfdnl.hn3.mofasuidao.cn/admin/login
三、java代碼生成器怎么用
zip包,然后自動下載下來
1.預(yù)先定義好模板
2.界面輸入相關(guān)參數(shù)
3.解析模板生成代碼并下載
最后放出源代碼:
package com.et.controller.system.createcode;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.et.controller.base.BaseController;
import com.et.util.DelAllFile;
import com.et.util.FileDownload;
import com.et.util.FileZip;
import com.et.util.Freemarker;
import com.et.util.PageData;
import com.et.util.PathUtil;
/**
* 類名稱:FreemarkerController
* 創(chuàng)建人:Harries
* 創(chuàng)建時間:2015年1月12日
* @version
*/
@Controller
@RequestMapping(value=”/createCode”)
public class CreateCodeController extends BaseController {
/**
* 生成代碼
*/
@RequestMapping(value=”/proCode”)
public void proCode(HttpServletResponse response) throws Exception{
PageData pd = new PageData();
pd = this.getPageData();
/* ============================================================================================= */
String packageName = pd.getString(“packageName”); //包名 ========1
String objectName = pd.getString(“objectName”); //類名 ========2
String tabletop = pd.getString(“tabletop”); //表前綴 ========3
tabletop = null == tabletop?””:tabletop.toUpperCase(); //表前綴轉(zhuǎn)大寫
String zindext = pd.getString(“zindex”); //屬性總數(shù)
int zindex = 0;
if(null != zindext && !””.equals(zindext)){
zindex = Integer.parseInt(zindext);
}
List<String[]> fieldList = new ArrayList<String[]>(); //屬性集合 ========4
for(int i=0; i< zindex; i++){
fieldList.add(pd.getString(“field”+i).split(“,fh,”)); //屬性放到集合里面
}
Map<String,Object> root = new HashMap<String,Object>(); //創(chuàng)建數(shù)據(jù)模型
root.put(“fieldList”, fieldList);
root.put(“packageName”, packageName); //包名
root.put(“objectName”, objectName); //類名
root.put(“objectNameLower”, objectName.toLowerCase()); //類名(全小寫)
root.put(“objectNameUpper”, objectName.toUpperCase()); //類名(全大寫)
root.put(“tabletop”, tabletop); //表前綴
root.put(“nowDate”, new Date()); //當(dāng)前日期
DelAllFile.delFolder(PathUtil.getClasspath()+”admin/ftl”); //生成代碼前,先清空之前生成的代碼
/* ============================================================================================= */
String filePath = “admin/ftl/code/”; //存放路徑
String ftlPath = “createCode”; //ftl路徑
/*生成controller*/
Freemarker.printFile(“controllerTemplate.ftl”, root, “controller/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Controller.java”, filePath, ftlPath);
/*生成service*/
Freemarker.printFile(“serviceTemplate.ftl”, root, “service/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Service.java”, filePath, ftlPath);
/*生成mybatis xml*/
Freemarker.printFile(“mapperMysqlTemplate.ftl”, root, “mybatis_mysql/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);
Freemarker.printFile(“mapperOracleTemplate.ftl”, root, “mybatis_oracle/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);
/*生成SQL腳本*/
Freemarker.printFile(“mysql_SQL_Template.ftl”, root, “mysql數(shù)據(jù)庫腳本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);
Freemarker.printFile(“oracle_SQL_Template.ftl”, root, “oracle數(shù)據(jù)庫腳本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);
/*生成jsp頁面*/
Freemarker.printFile(“jsp_list_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_list.jsp”, filePath, ftlPath);
Freemarker.printFile(“jsp_edit_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_edit.jsp”, filePath, ftlPath);
/*生成說明文檔*/
Freemarker.printFile(“docTemplate.ftl”, root, “說明.doc”, filePath, ftlPath);
//this.print(“oracle_SQL_Template.ftl”, root); 控制臺打印
/*生成的全部代碼壓縮成zip文件*/
FileZip.zip(PathUtil.getClasspath()+”admin/ftl/code”, PathUtil.getClasspath()+”admin/ftl/code.zip”);
/*下載代碼*/
FileDownload.fileDownload(response, PathUtil.getClasspath()+”admin/ftl/code.zip”, “code.zip”);
}
}
四、Jeecgboot-Vue3 v1.0.0 版本正式發(fā)布,基于代碼生成器的企業(yè)級低代碼平臺
Jeecgboot-Vue3 采用 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技術(shù)方案,包括二次封裝組件、utils、hooks、動態(tài)菜單、權(quán)限校驗、按鈕級別權(quán)限控制等功能。 是在 Vben-Admin 基礎(chǔ)上研發(fā)的,適合于JeecgBoot的新版前端VUE3框架。
當(dāng)前版本 :v1.0.0 | 2021-03-21
本項目需要一定前端基礎(chǔ)知識,請確保掌握 Vue 的基礎(chǔ)知識,以便能處理一些常見的問題。 建議在開發(fā)前先學(xué)一下以下內(nèi)容,提前了解和學(xué)習(xí)這些知識,會對項目理解非常有幫助:
本地開發(fā) 推薦使用 Chrome 最新版 瀏覽器, 不支持 Chrome 80 以下版本。
生產(chǎn)環(huán)境 支持現(xiàn)代瀏覽器,不支持 IE。
以上就是關(guān)于代碼生成器相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
Python國外網(wǎng)站代碼多不多(python 寫代碼網(wǎng)站)
抖音effectsdk代碼在哪里(抖音effect creator)
浙江草木景觀設(shè)計哪家專業(yè)(浙江景觀設(shè)計公司排名)