📄 main.java
字号:
/*
* Copyright (c) 2008 胜利油田胜利软件有限责任公司. All rights reserved.
*/
package com.victorysoft.code.uf;
import java.util.ArrayList;
import java.util.List;
import com.victorysoft.code.base.CodeTemplete;
import com.victorysoft.code.base.DBInfoCollector;
import com.victorysoft.code.base.FileWriter;
import com.victorysoft.code.base.CodeMakerConst;
import com.victorysoft.code.bean.TabInfo;
/**
*
* @author 于景洋
* @newtime Oct 21, 2008,2:06:09 PM
* @version 1.0
* @see
* @since JDK 1.5.0
*/
public class Main {
private static final String $HOSTNAME = "$HOSTNAME";
private static final String $DATABASE = "$DATABASE";
private static final String $USERNAME = "$USERNAME";
private static final String $PASSWORD = "$PASSWORD";
private static final String $BASEDIR = "$BASEDIR";
private static final String $PROJECT = "$PROJECT";
private static final String $GLOBAL = "$GLOBAL";
private static final String $TABLES = "$TABLES";
private CodeTemplete bct = null;
private FileWriter fw = null;
private DBInfoCollector dbc = null;
public Main() {
bct = new CodeTemplete(Main.class, "dictate.txt");
CodeMakerConst.hostname = bct.getTemplete($HOSTNAME).trim();
CodeMakerConst.database = bct.getTemplete($DATABASE).trim();
CodeMakerConst.username = bct.getTemplete($USERNAME).trim();
CodeMakerConst.password = bct.getTemplete($PASSWORD).trim();
String basedir = bct.getTemplete($BASEDIR).trim();
String project = bct.getTemplete($PROJECT).trim();
fw = new FileWriter(basedir, project);
dbc = new DBInfoCollector();
}
public void generate() {
String tables = bct.getTemplete($TABLES).trim();
if (tables == null || tables.length() == 0) {
return;
}
String[] tabs = tables.split("\n");
for (int i = 0; i < tabs.length; i++) {
if (tabs[i] == null || tabs[i].trim().length() == 0) {
continue;
}
if (tabs[i].indexOf("----") != -1) {
String[] tab = tabs[i].split("----");
String tabName = tab[0].trim().toUpperCase();
String format = tab[1].trim();
outputTable(tabName, format);
} else {
outputTable(tabs[i].trim(), null);
}
}
String global = bct.getTemplete($GLOBAL).trim();
if (global == null || global.length() == 0) {
global = null;
}
outputGlobal(tabs, global);
}
private void outputTable(String tabName, String format) {
TabInfo tab = dbc.getTabInfo(tabName);
if (format == null || format.indexOf("BEAN") != -1) {
fw.outputBean(tab);
}
if (format == null || format.indexOf("DAO") != -1) {
fw.outputDao(tab);
}
if (format == null || format.indexOf("IMPL") != -1) {
fw.outputImpl(tab);
}
if (format == null || format.indexOf("SQLMAP") != -1) {
fw.outputSqlMap(tab);
}
}
private void outputGlobal(String[] tabs, String format) {
if ("NONE".equals(format)) {
return;
}
List<TabInfo> tabList = new ArrayList<TabInfo>();
for (int i = 0; i < tabs.length; i++) {
tabList.add(dbc.getTabInfo(tabs[i].trim().toUpperCase()));
}
if (format == null || format.indexOf("IBATIS") != -1) {
fw.outputIbatis(tabList);
}
if (format == null || format.indexOf("SPRING") != -1) {
fw.outputSpring(tabList);
}
if (format == null || format.indexOf("FACTORY") != -1) {
fw.outputFactory(tabList);
}
if (format == null || format.indexOf("LOG4J") != -1) {
fw.outputLog4j();
}
}
public static void main(String[] args) {
System.out.println("开始生成代码...");
Main m = new Main();
m.generate();
System.out.println("生成代码完成...");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -