IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> JavaWeb后端代码自动生成工具 -> 正文阅读

[Java知识库]JavaWeb后端代码自动生成工具

JavaWeb后端代码自动生成工具

生成包括controller层/Rest类、service层、实体类dao层(可不用),?实体类

先说下,用编码配置方式:

1.Javabean生成

public class GenBeanSimple {
	public static void main(String[] args) {
		 try{
			String dbName=HoneyConfig.getHoneyConfig().getDbName();
//			driverName,url,username,password config in bee.properties.

			GenConfig config = new GenConfig();
			config.setDbName(dbName);
			config.setGenToString(true);//生成toString方法
			config.setGenSerializable(true); //生成序列化
			config.setGenComment(true); //可生成注释
			config.setCommentPlace(1); //注释的位置
			
			
//			更改成本地的具体路径  change to your real path
			config.setBaseDir("D:\\xxx\\yyy\\bee-exam\\src\\main\\java\\");
			config.setPackagePath("org.teasoft.exam.bee.osql.entity2");

			GenBean genBean = new GenBean(config);

			config.setGenFieldFile(true);  //可以使用{实体}_F来引用字段名
			//设置相对Entity的文件夹; 空表示与Entity同一个文件夹
//			config.setFieldFileRelativeFolder("field"); //默认
			config.setOverride(true); //是否覆盖原来的文件
			
			genBean.genSomeBeanFile("orders");
		  } catch (BeeException e) {
			 e.printStackTrace();
		  }
	}
}

?

自动创建数据库的表

根据Javabean创建表

Ddl.createTable(new Orders(), false);? //后一个参数为是否先删除已有表

详细可参考:?CreateTableWithJavabean

2.自动生成Javaweb后端代码

生成Controller, Service等

Controller类一般用于控制访问,? 而在rest风格编程中(也是前后端分离),可以直接返回jason数据给前端解析.因此,此处用Rest作为类的后缀.

生成实例:

GenFilesExam

package org.teasoft.exam.bee.osql.autogen;

import java.util.HashMap;
import java.util.Map;

import org.teasoft.honey.osql.autogen.GenFiles;
/**
 * @author Kingstar
 * @since  1.7.2
 */
public class GenFilesExam {

	public static void main(String[] args) {
		test();
	}
	
	public static void test() {
		BeeInitPreLoadService.init(); //V1.11 要使用,低于1.11可注释掉
		Map<String, String> map = new HashMap<>();
//		map.put("entityName1", "Orderhistory");  //使用#{entityName?up1}可以首字母大写
		map.put("entityName", "orderhistory");
		map.put("packageName", "com.automvc.enet.order.rest");
//		更改成本地的具体路径  change to your real path
		String basePath = "D:\\workspace\\bee-exam\\src\\main\\java\\org\\teasoft\\exam\\bee\\osql\\autogen\\";
		
		String templatePath = basePath + "OrderhistoryRest.java.template";
		String targetFilePath = basePath + "OrderhistoryRest.java";
		GenFiles.genFile(templatePath, map, targetFilePath);
		
		System.out.println("finished!");
	}

}

生成的Rest风格的代码

/*
 * Copyright 2016-2020 the original author.All rights reserved.
 * Kingstar(aiteasoft@163.com)
 * The license,see the LICENSE file.
 */

package com.automvc.enet.order.rest;

import java.util.List;

import org.teasoft.bee.osql.BeeSQLException;
import org.teasoft.bee.osql.FunctionType;
import org.teasoft.bee.osql.service.ObjSQLRichService;
import org.teasoft.bee.osql.service.ObjSQLService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.automvc.enet.order.entity.Orderhistory;
import com.automvc.common.jquery.Result;

/**
 * @author AiTeaSoft.com
 * @since  1.0
 * Create on 2019-04-16 11:48:24
 */
@RestController
@RequestMapping("/orderhistory")
public class OrderhistoryRest {
	@Autowired
	ObjSQLService objSQLService;
	
	@Autowired
	ObjSQLRichService objSQLRichService;
	
	@RequestMapping("/list")
	public Result list(Orderhistory orderhistory,
	     @RequestParam(value = "page", defaultValue = "1", required = false) int page, 
		 @RequestParam(value = "rows", defaultValue = "20", required = false) int rows) {	
	  Result  result =new Result();
	  try{
		  int total = objSQLRichService.count(orderhistory);
		  List<Orderhistory> list=objSQLRichService.select(orderhistory, (page-1)*rows, rows);
		  result.setRows(list);
		  result.setTotal(total);
	  } catch (BeeSQLException e) {
		  result.setErrorMsg(e.getMessage());
	  }
		
	   return result;
	}
	
	@RequestMapping("/add")
	public Result insert(Orderhistory orderhistory){
		
	  Result  result =new Result();
	  try{
		  int num=objSQLService.insert(orderhistory);
		  result.setTotal(num);
		  if(num<=0) result.setErrorMsg("insert failed!");
	  } catch (BeeSQLException e) {
		  result.setErrorMsg(e.getMessage());
	  }
		return result;
	}
	
	@RequestMapping("/edit")
	public Result update(Orderhistory orderhistory){
		Result  result =new Result();
		try{
			int num=objSQLService.update(orderhistory);
			result.setTotal(num);
			if(num<=0) result.setErrorMsg("update failed!");
	    } catch (BeeSQLException e) {
		    result.setErrorMsg(e.getMessage());
	    }
		return result;
	}
	
	@RequestMapping("/del")
	public Result delete(String ids) {
		Result result = new Result();
		try {
			int num=objSQLRichService.deleteById(Orderhistory.class, ids);
			result.setTotal(num);
			if (num <= 0) result.setErrorMsg("delete failed!");
		} catch (BeeSQLException e) {
			result.setErrorMsg(e.getMessage());
		}
		return result;
	}
}

在此外的代码,作为演示,不需要具体的业务逻辑,所以可以用空业务逻辑的ObjSQLRichService 代码. 而dao代码,已经统一封装到ORM Bee框架,我们可以不用再写dao代码(若确实需要写,可参考Rest类).

4. 一键生成

编程方式还是略显麻烦。

还可以用一键生成式, 将整个工程都生成, 前后端的代码都可以生成,连搭建环境也不需要我们自己做.

浏览快码加编-代码生成神器官网:http://www.kmcoding.com/

可以点击演示查看下效果.?

然后再到? 生成器[简易] 菜单, 输入自己的工程名,包名等信息, 下载整个工程.

还可以针对不同的数据表,生成增删改查的前后端代码.

控制哪些字段是否显示,哪些字段用于查询条件等,可使用定制菜单,更加高级功能等着你。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:04:09  更:2022-05-05 11:07:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:25:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码