自动生成代码的controller

原创 2018年04月16日 18:41:35

控制层代码GeneratorController

import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import utils.R;
import utils.GenUtils;
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 com.alibaba.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.fastjson.JSON;
import com.zscat.shop.service.GeneratorService;

@RequestMapping("/common/generator")
@Controller
public class GeneratorController {
	String prefix = "common/generator";
	@Reference(version = "1.0.0")
	GeneratorService generatorService;

	@GetMapping()
	String generator() {
		return prefix + "/list";
	}

	@ResponseBody
	@GetMapping("/list")
	List<Map<String, Object>> list() {
		List<Map<String, Object>> list = generatorService.list();
		return list;
	};

	@RequestMapping("/code/{tableName}")
	public void code(HttpServletRequest request, HttpServletResponse response,
			@PathVariable("tableName") String tableName) throws IOException {
		String[] tableNames = new String[] { tableName };
		byte[] data = generatorService.generatorCode(tableNames);
		response.reset();
		response.setHeader("Content-Disposition", "attachment; filename=\"zscat.zip\"");
		response.addHeader("Content-Length", "" + data.length);
		response.setContentType("application/octet-stream; charset=UTF-8");

		IOUtils.write(data, response.getOutputStream());
	}

	@RequestMapping("/batchCode")
	public void batchCode(HttpServletRequest request, HttpServletResponse response, String tables) throws IOException {
		String[] tableNames = new String[] {};
		tableNames = JSON.parseArray(tables).toArray(tableNames);
		byte[] data = generatorService.generatorCode(tableNames);
		response.reset();
		response.setHeader("Content-Disposition", "attachment; filename=\"zscat.zip\"");
		response.addHeader("Content-Length", "" + data.length);
		response.setContentType("application/octet-stream; charset=UTF-8");

		IOUtils.write(data, response.getOutputStream());
	}

	@GetMapping("/edit")
	public String edit(Model model) {
		Configuration conf = GenUtils.getConfig();
		Map<String, Object> property = new HashMap<>();
		property.put("author", conf.getProperty("author"));
		property.put("email", conf.getProperty("email"));
		property.put("package", conf.getProperty("package"));
		property.put("autoRemovePre", conf.getProperty("autoRemovePre"));
		property.put("tablePrefix", conf.getProperty("tablePrefix"));
		model.addAttribute("property", property);
		return prefix + "/edit";
	}

	@ResponseBody
	@PostMapping("/update")
	R update(@RequestParam Map<String, Object> map) {
		try {
			PropertiesConfiguration conf = new PropertiesConfiguration("generator.properties");
			conf.setProperty("author", map.get("author"));
			conf.setProperty("email", map.get("email"));
			conf.setProperty("package", map.get("package"));
			conf.setProperty("autoRemovePre", map.get("autoRemovePre"));
			conf.setProperty("tablePrefix", map.get("tablePrefix"));
			conf.save();
		} catch (ConfigurationException e) {
			return R.error("保存配置文件出错");
		}
		return R.ok();
	}
}

在VB中实现窗体的动态效果

在VB中实现窗体的动态效果 http://www.tongyi.net  作者:姜卫东、华云  出处:中国电脑教育报    点击:1161      在VB编程中,应用程序窗体的出现和关闭一般都是静态...
  • gnuljf
  • gnuljf
  • 2001-05-26 10:51:00
  • 1065

自动生成代码

  • 2018年04月20日 15:05
  • 1.94MB
  • 下载

基于freemarker的JAVA代码生成工具

  • 2015年12月15日 13:42
  • 12.39MB
  • 下载

AOS 自动生成代码(四) Controller生成

AOS 自动生成代码(四) Controller生成
  • billhepeng
  • billhepeng
  • 2016-08-11 19:53:27
  • 1404

在Spring Boot中使用MyBatis并且自动生成代码

MyBatis目前是主流的数据访问层框架,我司目前的项目大部分都是用MyBatis。本文将使用Spring Boot快速创建项目,并且在Spring Boot中使用MyBatis,编写了一个根据区域i...
  • shenjianxz
  • shenjianxz
  • 2018-02-28 16:44:19
  • 194

springmvc+mybatis自动生成

  • 2015年10月26日 17:38
  • 14.19MB
  • 下载

AOS 自动生成代码(三) Service生成

在导入表结构设置好字段生成DAO之后就可以生成相应的service 文件了。 生成service 时候请选择相应的service目录,如果不是service 目录将提示不能生成。 生成 servi...
  • billhepeng
  • billhepeng
  • 2016-08-11 18:03:12
  • 1178

卡密自动生成代码JAVA写的

  • 2010年11月27日 16:53
  • 1KB
  • 下载

SpringMvc+Mybatis自动生成代码框架_1

前几天在网上偶然看到一个jeeidp框架,看到页面的效果图果断下载下来看看,发现还挺好用的,可以拿来练练手,我就打算在它的基础上继续给这个项目添加功能,项目截图如下,要下载源码的可百度jeeidp ...
  • hai411741962
  • hai411741962
  • 2016-08-19 10:25:43
  • 5391

mybatis-generator-core-1.3.2.rar

  • 2017年12月15日 16:37
  • 3.28MB
  • 下载
收藏助手
不良信息举报
您举报文章:自动生成代码的controller
举报原因:
原因补充:

(最多只允许输入30个字)