⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.java

📁 生成与Oracle相关的Ibatis相关配置文件及Java源码
💻 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 + -