代码自动生成(三)数据库表字段生成mybaties 接口类

在代码自动生成(二)中写了自动生成mybaties **.mapper.xml,本篇是在原来的基础上加上生成对应的接口类

共有的类我就不写了,只把用的ftl和生成代码的工具类展示出来。

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.mengwx.entiy.Student;
import com.mengwx.util.Freemarker;
import com.mengwx.util.ReflectBean;

/**
 * 
 * @author mengwx
 * @date 2017-2-22
 */
public class CreateCode{
	
	/**
	 * 生成代码
	 */
	public static void proCode(Object object,String table) throws Exception{
		String objectName = object.getClass().getSimpleName();
		String pack = object.getClass().getName();
		ReflectBean re = new ReflectBean();
		re.setTable(table);
		List<String> list = re.doAction();
		String id = "";
		if(list.size()>=1){
			id = list.get(list.size()-1); //主键字段
		}
		Map<String,Object> root = new HashMap<String,Object>(); //创建数据模型
		root.put("packageName", objectName);
		root.put("pack", pack);	//包名
		root.put("objectName", objectName);							//类名
		root.put("objectNameLower", objectName.toLowerCase());		//类名(全小写)
		root.put("objectNameUpper", objectName.toUpperCase());		//类名(全大写)							
		root.put("nowDate", new Date());							//当前日期
		root.put("table", table);
		root.put("id", list.get(list.size()-1));
		list.remove(list.size()-1);
		list.remove(id);
		root.put("fieldList", list);
		String filePath = "C:/Users/huxf/workspace/createcode/src/com/mengwx/code/";	//存放路径
		String ftlPath = "C:/Users/huxf/workspace/createcode/src/com/mengwx/ftl";		//ftl路径
		
		String filePath2 = "C:/Users/huxf/workspace/createcode/src/com/mengwx/dao/";	//存放路径
		
		
		/*生成dao*/
		Freemarker.printFile("daoTemplate.ftl", root, ""+objectName+"Mapper.java", filePath2, ftlPath);

		/*生成mybatis xml*/
		Freemarker.printFile("mapperMysqlTemplate.ftl", root, ""+objectName+"Mapper.xml", filePath, ftlPath);
		
	}
	
	public static void main(String[] args) throws Exception {
		
		proCode(new Student(),"student");
	}
	
}
freemaker模板文件ftl  daoTemplate.ftl

package com.mengwx.dao;

import java.util.List;

import ${pack};







public interface ${objectName}Mapper {

	/*
	* 新增
	*/
	public void save(${objectName} pd)throws Exception;
	
	
	/*
	* 删除
	*/
	public void delete(String id)throws Exception;
	
	/*
	* 修改
	*/
	public void edit(${objectName} pd)throws Exception;
		
	/*
	*列表(全部)
	*/
	public List<${objectName}> listAll()throws Exception;
	
	
	/*
	* 通过id获取数据
	*/
	public ${objectName} findById(String id)throws Exception;
	

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值