根据模板及表元数据生成Controll控制层类
生活随笔
收集整理的這篇文章主要介紹了
根据模板及表元数据生成Controll控制层类
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
(1),模板controll_ .ftl文件
package com.controller;import com.dto.<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Dto; import com.service.<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List;/*** @date: 2022/11/5 23:14* @desc: <#list mapDataTableComment as listItmCom > ${listItmCom.columnComment} </#list>控制類*/ @Controller @RequestMapping(value = "/<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Conter") public class <#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Controller extends BasicController {@Autowiredprivate <#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Service <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Service;// 新增<#list mapDataTableComment as listItmCom > ${listItmCom.columnComment} </#list>頁面@RequestMapping(value = "/<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Add", method = RequestMethod.GET)public ModelAndView <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Add(HttpServletRequest request, HttpServletResponse response ) {ModelAndView modelAndView = new ModelAndView();modelAndView.setViewName("/testExamp/<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Add");return modelAndView;}// 保存<#list mapDataTableComment as listItmCom > ${listItmCom.columnComment} </#list>@RequestMapping(value = "/<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>AddSave", method = RequestMethod.POST)public ModelAndView <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>AddSave(HttpServletRequest request, HttpServletResponse response, @ModelAttribute <#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Dto <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto ) {ModelAndView modelAndView = new ModelAndView();int irows = <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Service.<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>AddSave(<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto);modelAndView.setViewName("redirect:/<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Conter/query_<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>List");return modelAndView;}// 修改<#list mapDataTableComment as listItmCom > ${listItmCom.columnComment} </#list>頁面@RequestMapping(value = "/get<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>")public ModelAndView get<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>(HttpServletRequest request, HttpServletResponse response, @ModelAttribute <#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Dto <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto ) {ModelAndView modelAndView = new ModelAndView();modelAndView.addObject("<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto", <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Service.get<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>(<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto));modelAndView.setViewName("/testExamp/<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Modify");return modelAndView;}// 修改保存<#list mapDataTableComment as listItmCom > ${listItmCom.columnComment} </#list>@RequestMapping(value = "/<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>ModifySave", method = RequestMethod.POST, produces = "text/html;charset=UTF-8")public ModelAndView <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>ModifySave(HttpServletRequest request, HttpServletResponse response, @ModelAttribute <#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Dto <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto ) {ModelAndView modelAndView = new ModelAndView();<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Service.<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>ModifySave(<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto);modelAndView.setViewName("redirect:/<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Conter/query_<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>List");return modelAndView;}// 刪除<#list mapDataTableComment as listItmCom > ${listItmCom.columnComment} </#list>@RequestMapping(value = "/<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Del")public ModelAndView <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Del(HttpServletRequest request, HttpServletResponse response, @ModelAttribute <#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Dto <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto ) {ModelAndView modelAndView = new ModelAndView();int irows = <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Service.<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Del(<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto);modelAndView.setViewName("redirect:/<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Conter/query_<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>List");return modelAndView;}// 查看<#list mapDataTableComment as listItmCom > ${listItmCom.columnComment} </#list>頁面@RequestMapping(value = "/get<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Disp")public ModelAndView get<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Disp(HttpServletRequest request, HttpServletResponse response, @ModelAttribute <#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Dto <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto ) {ModelAndView modelAndView = new ModelAndView();modelAndView.addObject("<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto", <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Service.get<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>(<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto));modelAndView.setViewName("/testExamp/<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Disp");return modelAndView;}// <#list mapDataTableComment as listItmCom > ${listItmCom.columnComment} </#list>列表@RequestMapping(value = "/query_<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>List", produces = "text/html;charset=UTF-8")public ModelAndView query_TestT00_userList(HttpServletRequest request, HttpServletResponse response, @ModelAttribute <#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Dto <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto) {ModelAndView modelAndView = new ModelAndView();List<<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Dto> list = <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Service.query<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>List( <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto );modelAndView.addObject("<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto", <#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>Dto);modelAndView.addObject("list<#list mapDataTableComment as listItmCom > ${listItmCom.upperColumnName} </#list>Dto", list);modelAndView.setViewName("/testExamp/<#list mapDataTableComment as listItmCom > ${listItmCom.columnName} </#list>List");return modelAndView;}}(2),生成控制類
public class TestCls {public static void main(String[] args) throws Exception {TestCls testCls = new TestCls();String testT00_po = "testT00_user";String generFileName = testCls.firTextUpper(testT00_po) + "Controller.java";testCls.outTemplate(testT00_po, "用戶數(shù)據(jù)", generFileName, "controll_ .ftl" );System.out.println("執(zhí)行成功!");}// 輸出到模板private void outTemplate(String entryInfoPoName, String tableComment, String templateFileName , String templFileName ) throws Exception {Configuration configuration = new Configuration();String templateDir = "F:\\xbl\\myResource\\temp_test_";configuration.setDirectoryForTemplateLoading(new File(templateDir));Template template = configuration.getTemplate(templFileName);Map<String, List<EntryInfoPo>> dataMap = new HashMap<String, List<EntryInfoPo>>();List<EntryInfoPo> listEntryInfo = new ArrayList<EntryInfoPo>();listEntryInfo = testMetaAddComment();dataMap.put("mapDataList", listEntryInfo );// 表注釋dataMap.put("mapDataTableComment", testTableComment(entryInfoPoName, tableComment ));String generFileDir = "F:\\xbl\\myResource\\temp_test_\\gener_file_\\";File generFile = new File(generFileDir + templateFileName);if(generFile.exists()) {generFile.delete();}generFile.createNewFile();Writer outputWriter = new OutputStreamWriter(new FileOutputStream(generFile ) ); // Writer outputWriter = new OutputStreamWriter(System.out );template.process(dataMap, outputWriter);System.out.println("輸出完成!");outputWriter.close();}// 表注釋private List<EntryInfoPo> testTableComment(String entryInfoPoName, String tableComment) throws Exception {List<EntryInfoPo> listTableComment = new ArrayList<EntryInfoPo>();EntryInfoPo entryInfoPo = new EntryInfoPo();entryInfoPo.setColumnName(entryInfoPoName);entryInfoPo.setColumnComment(tableComment);entryInfoPo.setUpperColumnName(firTextUpper( entryInfoPoName ) );listTableComment.add(entryInfoPo);return listTableComment;}// 首字母大寫private String firTextUpper(String scontext ) {int textLength = scontext.length();String sufText = scontext.substring(1, textLength);String firText = scontext.substring(0, 1);firText = firText.toUpperCase();String finText = firText + sufText;return finText;}private List<EntryInfoPo> testMetaAddComment() throws Exception {List<EntryInfoPo> listEntryInfoPo = new ArrayList<EntryInfoPo>();Connection connection = getDataBaseConnection();Statement statement = connection.createStatement();ResultSet resultSet = statement.executeQuery("show full columns from t00_user ");while (resultSet.next()) {String columnComment = resultSet.getString("Comment");String columnName = resultSet.getString("Field");columnName = columnName.toLowerCase();EntryInfoPo entryInfoPo = new EntryInfoPo();entryInfoPo.setColumnName(columnName);entryInfoPo.setColumnComment(columnComment);listEntryInfoPo.add(entryInfoPo);}return listEntryInfoPo;}private Connection getDataBaseConnection() throws Exception {// 連接數(shù)據(jù)庫Class.forName("com.mysql.jdbc.Driver");String databaseUrl = "jdbc:mysql://127.0.0.1:3306/grcdb05?useUnicode=true&characterEncoding=utf8";Connection connection = DriverManager.getConnection(databaseUrl, "root", "root");return connection;} }(3),最后注意替換空格
總結(jié)
以上是生活随笔為你收集整理的根据模板及表元数据生成Controll控制层类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php mysql笔试题_2017年最新
- 下一篇: DruidDataSource配置说明