当前位置: 首页 > news >正文

网站app生成器windows更新wordpress

网站app生成器,windows更新wordpress,北京怎样做企业网站,网页设计心得体会2篇【Java代码生成神器】自动化生成Java实体类、代码、增删改查功能#xff01;点击访问 推荐一个自己每天都在用的Java代码生成器#xff01;这个网站支持在线生成Java代码#xff0c;包含完整的Controller\Service\Entity\Dao代码#xff0c;完整的增删改查功能#xff01…【Java代码生成神器】自动化生成Java实体类、代码、增删改查功能点击访问 推荐一个自己每天都在用的Java代码生成器这个网站支持在线生成Java代码包含完整的Controller\Service\Entity\Dao代码完整的增删改查功能 还可以自定义自己的代码模板、自由配置高级选项指定是否集成Lombok和Swagger等常用库一键生成省去了大量时间和精力 快来试试吧在线地址 一款支持多种ORM框架的Java代码生成器基于模板引擎实现具有非常高的自由度可随意修改为适合你的代码风格 支持JPA、Mybatis、MybatisPlus等ORM框架 以下为开源版本 源码 前端https://github.com/dengweiping4j/code-generator-ui.git后端https://github.com/dengweiping4j/CodeGenerator.git 界面展示 关键代码 package com.dwp.codegenerator.utils;import com.dwp.codegenerator.domain.ColumnEntity; import com.dwp.codegenerator.domain.DatabaseColumn; import com.dwp.codegenerator.domain.GeneratorParams; import com.dwp.codegenerator.domain.TableEntity; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.WordUtils; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity;import java.io.File; import java.io.IOException; import java.io.StringWriter; import java.util.*; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream;public class GeneratorUtil {/*** 生成代码** param generatorParams* param zip*/public static void generatorCode(GeneratorParams generatorParams, ZipOutputStream zip) {//参数处理TableEntity tableEntity formatParams(generatorParams);//设置velocity资源加载器initVelocity();//封装模板数据VelocityContext context getVelocityContext(generatorParams, tableEntity);//渲染模板apply(context, zip, tableEntity, generatorParams);}private static void apply(VelocityContext context, ZipOutputStream zip, TableEntity tableEntity, GeneratorParams generatorParams) {ListString templates getTemplates(generatorParams.getGeneratorType());templates.forEach(template - {StringWriter sw new StringWriter();Template tpl Velocity.getTemplate(template, UTF-8);tpl.merge(context, sw);try {String fileName getFileName(template, tableEntity.getUpperClassName(), generatorParams);//添加到zipzip.putNextEntry(new ZipEntry(fileName));IOUtils.write(sw.toString(), zip, UTF-8);IOUtils.closeQuietly(sw);zip.closeEntry();} catch (IOException e) {throw new RuntimeException(渲染模板失败表名 tableEntity.getTableName(), e);}});}/*** 使用自定义模板** param generatorType* return*/private static ListString getTemplates(String generatorType) {ListString templates new ArrayList();switch (generatorType) {case jpa:templates.add(template/jpa/Repository.java.vm);templates.add(template/jpa/Specifications.java.vm);templates.add(template/jpa/Service.java.vm);templates.add(template/jpa/Controller.java.vm);templates.add(template/jpa/Domain.java.vm);break;case mybatis:templates.add(template/mybatis/Mapper.java.vm);templates.add(template/mybatis/Mapper.xml.vm);templates.add(template/mybatis/Service.java.vm);templates.add(template/mybatis/ServiceImpl.java.vm);templates.add(template/mybatis/Controller.java.vm);templates.add(template/mybatis/Entity.java.vm);templates.add(template/mybatis/EntityParam.java.vm);templates.add(template/mybatis/PageResult.java.vm);templates.add(template/mybatis/RestResp.java.vm);break;case mybatis-plus:templates.add(template/mybatis-plus/Mapper.java.vm);templates.add(template/mybatis-plus/Mapper.xml.vm);templates.add(template/mybatis-plus/Service.java.vm);templates.add(template/mybatis-plus/ServiceImpl.java.vm);templates.add(template/mybatis-plus/Controller.java.vm);templates.add(template/mybatis-plus/Entity.java.vm);templates.add(template/mybatis-plus/EntityParam.java.vm);templates.add(template/mybatis-plus/PageResult.java.vm);templates.add(template/mybatis-plus/RestResp.java.vm);break;}return templates;}private static String getPackagePath(GeneratorParams generatorParams) {//配置信息Configuration config getConfig();String packageName StringUtils.isNotBlank(generatorParams.getPackageName())? generatorParams.getPackageName(): config.getString(package);String moduleName StringUtils.isNotBlank(generatorParams.getModuleName())? generatorParams.getModuleName(): config.getString(moduleName);String packagePath main File.separator java File.separator;if (StringUtils.isNotBlank(packageName)) {packagePath packageName.replace(., File.separator) File.separator moduleName File.separator;}return packagePath;}private static VelocityContext getVelocityContext(GeneratorParams generatorParams, TableEntity tableEntity) {Configuration config getConfig();MapString, Object map new HashMap();map.put(generatorType, generatorParams.getGeneratorType());map.put(tableName, tableEntity.getTableName());map.put(comments, tableEntity.getComments());map.put(pk, tableEntity.getPk());map.put(className, tableEntity.getUpperClassName());map.put(classname, tableEntity.getLowerClassName());map.put(pathName, tableEntity.getLowerClassName().toLowerCase());map.put(columns, tableEntity.getColumns());map.put(mainPath, StringUtils.isBlank(config.getString(mainPath)) ? com.dwp : config.getString(mainPath));map.put(package, StringUtils.isNotBlank(generatorParams.getPackageName()) ? generatorParams.getPackageName() : config.getString(package));map.put(moduleName, StringUtils.isNotBlank(generatorParams.getModuleName()) ? generatorParams.getModuleName() : config.getString(moduleName));map.put(author, StringUtils.isNotBlank(generatorParams.getAuthor()) ? generatorParams.getAuthor() : config.getString(author));map.put(email, config.getString(email));map.put(datetime, DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN));VelocityContext context new VelocityContext(map);return context;}private static void initVelocity() {Properties prop new Properties();prop.put(file.resource.loader.class, org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader);Velocity.init(prop);}/*** 表、字段参数处理** param generatorParams* return*/private static TableEntity formatParams(GeneratorParams generatorParams) {TableEntity tableEntity new TableEntity();//表信息setTableEntity(tableEntity, generatorParams);//设置列信息setColumns(tableEntity, generatorParams);//没主键则第一个字段为主键if (tableEntity.getPk() null) {tableEntity.setPk(tableEntity.getColumns().get(0));}return tableEntity;}private static void setColumns(TableEntity tableEntity, GeneratorParams generatorParams) {ListColumnEntity columnsList new ArrayList();for (DatabaseColumn column : generatorParams.getColumns()) {ColumnEntity columnEntity new ColumnEntity();columnEntity.setColumnName(column.getColumnName());//列名转换成Java属性名String attrName columnToJava(column.getColumnName());columnEntity.setUpperAttrName(attrName);columnEntity.setLowerAttrName(StringUtils.uncapitalize(attrName));columnEntity.setComments(column.getColumnComment());//列的数据类型转换成Java类型Configuration config getConfig();String attrType config.getString(column.getColumnType(), unknowType);columnEntity.setAttrType(attrType);//是否主键if (column.isPrimary()) {tableEntity.setPk(columnEntity);}columnsList.add(columnEntity);}tableEntity.setColumns(columnsList);}private static void setTableEntity(TableEntity tableEntity, GeneratorParams generatorParams) {tableEntity.setTableName(generatorParams.getTableName());tableEntity.setComments(generatorParams.getTableComment());//表名转换成Java类名Configuration config getConfig();String className tableToJava(tableEntity.getTableName(), config.getString(tablePrefix));tableEntity.setUpperClassName(className);tableEntity.setLowerClassName(StringUtils.uncapitalize(className));}/*** 列名转换成Java属性名*/private static String columnToJava(String columnName) {return WordUtils.capitalizeFully(columnName, new char[]{_}).replace(_, );}/*** 表名转换成Java类名*/private static String tableToJava(String tableName, String tablePrefix) {if (StringUtils.isNotBlank(tablePrefix)) {tableName tableName.replaceFirst(tablePrefix, );}return columnToJava(tableName);}/*** 获取配置信息*/private static Configuration getConfig() {try {return new PropertiesConfiguration(generator.properties);} catch (ConfigurationException e) {throw new RuntimeException(获取配置文件失败, e);}}/*** 获取文件名*/private static String getFileName(String templateName, String className, GeneratorParams generatorParams) {String packagePath getPackagePath(generatorParams);if (StringUtils.isNotBlank(templateName)) {String afterClassName templateName.substring(templateName.lastIndexOf(/) 1, templateName.indexOf(.));if (templateName.contains(template/jpa/Specifications.java.vm)) {return packagePath repository File.separator className Specifications.java;}if (templateName.endsWith(Mapper.xml.vm)) {return packagePath afterClassName.toLowerCase() File.separator className afterClassName .xml;}if (templateName.contains(template/jpa/Domain.java.vm)|| templateName.endsWith(Entity.java.vm)) {return packagePath afterClassName.toLowerCase() File.separator className .java;}if (templateName.endsWith(EntityParam.java.vm)) {return packagePath entity/param File.separator className Param.java;}if (templateName.endsWith(ServiceImpl.java.vm)) {return packagePath service/impl File.separator className afterClassName .java;}if (templateName.endsWith(PageResult.java.vm)) {return packagePath util File.separator PageResult.java;}if (templateName.endsWith(RestResp.java.vm)) {return packagePath util File.separator RestResp.java;}return packagePath afterClassName.toLowerCase() File.separator className afterClassName .java;}return null;} } 项目地址 前端https://github.com/dengweiping4j/code-generator-ui.git 后端https://github.com/dengweiping4j/CodeGenerator.git
http://www.pierceye.com/news/87422/

相关文章:

  • 网站开发及设计贵州省交通建设集团网站
  • 深圳宝安网站制作公司重庆免费建网站
  • 帝国cms电影网站模板公司网站发展策划书
  • 上市公司中 哪家网站做的好广东省建设监理协会网站
  • 宁波四方网络网站建设杭州余杭区抖音seo质量高
  • 云浮市住房和城乡建设局网站企业微信登录网页版
  • 赣州有没有做网站的注册域名后网站建设
  • 网站建设 工作职责wordpress实现新闻列表
  • 深圳专业做网站的公司哪家好wordpress 微博同步插件
  • seo网站优化公司网站设计的尺寸
  • 中山网站建设文化教程学院网站建设服务宗旨
  • 网站权限怎么设置遵义市建设局网站官网
  • 昆明做网站公司有哪些怎么样制作自己的网站
  • 商业型网站天元建设集团有限公司2008年招聘
  • 广西住建厅八大员报名网站永久免费进销存管理软件手机版
  • 织梦怎么做网站地图seo网站平台
  • 网站建设低价网站到底便宜在哪建立免费网站的步骤
  • 适合用struts2做的网站个人建站做什么网站比较赚钱
  • 免费建设一个网站百度网盘免费下载
  • 上传网站到虚拟主机教育机构举报电话
  • 电子商务网站建设题库那个网站直接回做二手发电机
  • 网站制作熊猫建站建设部网站材料价格上涨规定
  • 化妆品网站 源码山西省建设厅政务中心网站
  • 青岛网站建设报价青岛建设工程信息网站
  • html5个人博客网站模板wamp搭建多个网站
  • 网站开发需求报告想搞网站建设
  • 惠安建设局网站网站开发和网页开发有什么区别
  • 网站关键词优化效果建个企业网站多少钱
  • 建站哪个平台好用浙江网站建设公司
  • 如何查看网站权重石狮网站