Fuguo-autoproject

来自ling
跳转至: 导航搜索

功能

数据库model映射版地址为:http://www.ling2.cn/svn/ling/branches/ling.autoproject

快速代码开发

  • 通过工具生成数据库和java的映射文件
  • 通过@Dict设置数据的翻译规则
  • 如果项目是新建项目在ling3.autoproject\pom.xml 中引用你需要自动代码的项目
  • 在ling3.autoproject\src\test\java中定义你自动代码类,例如
package com.ling2.samplecenter.autoproject;

import com.deloitte.tms.vat.order.model.Order;
import com.deloitte.tms.vat.order.model.OrderItem;
import com.ling2.autoproject.model.OneToManyPojo;
import com.ling2.autoproject.utils.AutoProjectUtils;

public class MvcTest {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String resultfolder="C:\\workspace\\deloitte\\ling3.parent\\deloitte.tms.vat.web\\src\\main\\java";
		String viewresultfolder="C:\\workspace\\deloitte\\ling3.parent\\deloitte.tms.vat.web\\src\\webapp\\order";	
		getOrderViewFile(resultfolder,viewresultfolder);
	}
	private static void getOrderViewFile(String resultfolder,String viewresultfolder) {
		OneToManyPojo oneToManyPojo=new OneToManyPojo();
		oneToManyPojo.setOne(AutoProjectUtils.revertClass2Pojo(Order.class));
		oneToManyPojo.addMany(OrderItem.class);
		AutoProjectUtils.executeMvcBootstrape(resultfolder,viewresultfolder,oneToManyPojo );
	}
}
  • 注意 resultfolder和viewresultfolder的配置
  • 以javaapplication运行输出结果
  • 为生成的代码补充InParam,请根据需要补充InParam中的字段,简单的方式是直接集成InParam,但这样会在和前台以json数据传递的时候会传递一些不需要的信息。
  • 在生成的代码下进行业务逻辑的快速扩展
    • 通过map传递参数
	public List<OrderInParam> findOrderByOrderCode(String orderCode) {
		Map params=new HashMap();
		params.put("orderCode", params);
		return findOrderByParams(params);
	}
    • 修改dao层对传递的参数的支持
	value=params.get("orderCode");
		if(AssertHelper.notEmpty(value))
		{
			query.append(" and orderCode = :orderCode");
			values.put("orderCode", value);
		}


功能扩展参考

依赖

配置文件说明

关键类说明