import freemarker.template.Configuration;
import freemarker.template.TemplateException;
public class Generator {
private static Configuration cfg = null;
static {
if (null == cfg) {
cfg = new Configuration();
try {
cfg.setDirectoryForTemplateLoading(new File(Generator.class
.getResource("/").getPath()
+ "template"));
cfg.setDefaultEncoding("MS932");
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String args[]) {
try {
Map<String, List<{xxx}Bean>> infoMap = 初期化;
if (null != infoMap) {
Entry<String, List<{xxx}Bean>> tblInfo = null;
for (Iterator<Entry<String, List<{xxx}Bean>>> i = infoMap
.entrySet().iterator(); i.hasNext();) {
tblInfo = i.next();
{xxx}Generator.genarator{xxx}(cfg, tblInfo);
}
} else {
System.out.println("テーブルが存在しません、配置ファイルを直してください");
}
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (TemplateException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (SQLException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
}
public class {xxx}Generator {
public static void genarator(Configuration cfg,
Entry<String, List<{xxx}Bean>> tableInfo) throws IOException,
TemplateException {
BufferedWriter writer = null;
try {
String path = {出力パス}
// パスが存在なければ、新規作成する
FileUtil.mkdir(path);
writer = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(path), {Encode()}));
Map<String, Object> rootMap = new HashMap<String, Object>();
Template tpl = cfg.getTemplate("{xxxx}.tpl");
tpl.setEncoding("UTF-8");
tpl.process(rootMap, writer);
} finally {
if (null != writer) {
writer.flush();
writer.close();
}
}