/**
 * 文 件 名:  Test.java
 * 版    权:  Huawei Technologies Co., Ltd. Copyright YYYY-YYYY,  All rights reserved
 * 描    述:  <描述>
 * 修 改 人:  lKF62609
 * 修改时间:  2012-1-13
 * 跟踪单号:  <跟踪单号>
 * 修改单号:  <修改单号>
 * 修改内容:  <修改内容>
 */
package com.lance.toos.springbatch;import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;import com.lance.toos.springbatch.auto.create.ConfigurationHelper;
import com.lance.toos.springbatch.auto.create.DbColumnHelp;import freeer.template.Template;
import freeer.template.TemplateException;/**
 * <一句话功能简述>
 * <功能详细描述>
 * 
 * @author  lKF62609
 * @version  [版本号, 2012-1-13]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
public class CreatePojo
{
    public static void main(String[] args)
    {
        try
        {
            String className = "User";
            String packageName = "com.lance.toos.springbatch.pojo";
            String sql = "select * from help_info";
            String templateFileName = "User.java.ftl";           
            String targetFileName = System.getProperty("user.dir")+"/src/"+packageName.replaceAll("\\.", "/")+"/"+className+".java";
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("package", packageName);
            map.put("className", className);
            map.put("param", DbColumnHelp.getColumnInfo(sql));
            
            Template t = ConfigurationHelper.getConfiguration().getTemplate(templateFileName);
            File afile = new File(targetFileName);
            if(!afile.exists())
            {
                afile.getParentFile().mkdirs();
            }
            Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(afile), "UTF-8"));
            
            t.process(map, out);
            out.close();
        }
        catch (TemplateException e)
        {
            e.printStackTrace();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        
    }
}