亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dealconf.java

?? 優(yōu)秀的客戶關(guān)系管理系統(tǒng)
?? JAVA
字號:
package com.util;

import com.db.*;
import java.util.*;

/**
 *@Author:  1234
 *Function:1.從sql類型到數(shù)據(jù)庫類型的映射
 *         2.從數(shù)據(jù)庫類型到sql類型的映射
 *         3.導(dǎo)出數(shù)據(jù)時添加數(shù)據(jù)庫類型到sql類型的映射
 *By Date: 2003-11-11
*/

public class DealConf
{
	/**
	 *從sql類型到數(shù)據(jù)庫類型的映射結(jié)果集
	*/
	Vector v_sqltodb[] = new Vector[2];

	/**
	 *從數(shù)據(jù)庫類型到sql類型的映射
	*/
	Vector v_dbtosql[] = new Vector[2];

	String conffile = "";
	String dbType = "";

	/**
	 *初始化兩個映射結(jié)果集
	 *conffile為配置文件名,dbType為數(shù)據(jù)庫常量名,參見ParentBean.class
	 *@link {ParentBean.class}
	*/
	public void initMapList(String conffile,String dbType)
	{
		v_sqltodb[0] = new Vector();
		v_sqltodb[1] = new Vector();
		v_dbtosql[0] = new Vector();
		v_dbtosql[1] = new Vector();
		String sign = "sql-to-" + dbType + "";
		v_sqltodb = initVector(conffile,sign);
		sign = "" + dbType + "-to-sql";
		v_dbtosql = initVector(conffile,sign);
		this.conffile = conffile;
		this.dbType = dbType;
	}

	/**
	 *查詢某個子段之間的內(nèi)容
	*/
	protected Vector []initVector(String conffile,String sign)
	{
		DealFile df = new DealFile();
		df.connFIS(conffile);
		Vector vect[] = new Vector[2];
		vect[0] = new Vector();
		vect[1] = new Vector();

		String sign_begin = "<" + sign + ">";//開始標(biāo)記
		String sign_end = "</" + sign + ">";//結(jié)束標(biāo)記
		long pos = df.seekStrPos(0,sign_begin);//開始位置
		long end = df.seekStrPos(0,sign_end);//結(jié)束位置

		//循環(huán)搜索<type></type><map-type></map-type>,不包括<!--//-->之間的內(nèi)容
		long temp = pos;
		long temp1 = pos;
		long temp2 = pos;
		String map[] = new String[2];
		map[0] = "";
		map[1] = "";
		Vector t1 = new Vector();
		Vector t2 = new Vector();
		while(pos<end)
		{
			//取出映射字段名
			pos = df.seekStrPos(pos,"<type>");
			temp = df.seekStrPos(pos,"</type>");
			temp1 = df.seekStrPos(pos,"<!--");
			if(temp1!=-1&&temp>temp1)//有注釋部分,應(yīng)該跳過
			{
				pos += 6;
				map[0] = df.substring(pos,(int)(temp1 - pos));//取出跳過之前的部分
				temp2 = df.seekStrPos(temp1,"-->");
				pos = temp2 + 3;//當(dāng)前指針跳到注釋之后
				temp = df.seekStrPos(pos,"</type>");
			}
			else
			{
				pos += 6;
			}
			map[0] += df.substring(pos,(int)(temp - pos));

			//取出映射字段值
			pos = df.seekStrPos(pos,"<map-type>");
			temp = df.seekStrPos(pos,"</map-type>");
			temp1 = df.seekStrPos(pos,"<!--");
			if(temp1!=-1&&temp>temp1)//有注釋部分,應(yīng)該跳過
			{
				pos += 10;
				map[1] = df.substring(pos,(int)(temp1 - pos));//取出跳過之前的部分
				temp2 = df.seekStrPos(temp1,"-->");
				pos = temp2 + 3;//當(dāng)前指針跳到注釋之后
				temp = df.seekStrPos(pos,"</map-type>");
			}
			else
			{
				pos += 10;
			}
			map[1] += df.substring(pos,(int)(temp - pos));

			
			t1.add(map[0]);
			t2.add(map[1]);
			map[0] = "";
			map[1] = "";
			pos = temp + 13;
		}

		vect[0] = t1;
		vect[1] = t2;
		df.closeFIS();//關(guān)閉文件輸入流
		return vect;
	}

	/**
	 *將sql字段映射為數(shù)據(jù)庫字段
	*/
	public String mapsqltoDB(String type)
	{
		Vector v1 = (Vector)v_sqltodb[0];
		Vector v2 = (Vector)v_sqltodb[1];

		for(int i=0;i<v1.size();i++)
		{
			if(((String)v1.get(i)).trim().equals(type.trim()))
				return (String)v2.get(i);
		}
		return "";
	}

	/**
	 *將數(shù)據(jù)庫字段映射為sql字段
	*/
	public String mapDBtosql(String type)
	{
		Vector v1 = (Vector)v_dbtosql[0];
		Vector v2 = (Vector)v_dbtosql[1];
		for(int i=0;i<v1.size();i++)
		{
			if(((String)v1.get(i)).trim().equals(type.trim()))
				return (String)v2.get(i);
		}
		return "";
	}

	/**
	 *添加或修改sql到數(shù)據(jù)庫的字段映射
	*/
	public void addsqltoDB(String sqlType,String dbType)
	{
		Vector v1 = (Vector)v_sqltodb[0];
		Vector v2 = (Vector)v_sqltodb[1];
		int i = 0;
		for(;i<v1.size();i++)
		{
			if(((String)v1.get(i)).trim().equals(sqlType.trim()))
				break;
		}
		if(i==v1.size())
		{
			v1.add(i,sqlType);
			v2.add(i,dbType);
		}
		v_sqltodb[0] = v1;
		v_sqltodb[1] = v2;		
	}

	/**
	 *添加或修改數(shù)據(jù)庫到sql的字段映射
	*/
	public void addDBtosql(String dbType,String sqlType)
	{
		Vector v1 = (Vector)v_dbtosql[0];
		Vector v2 = (Vector)v_dbtosql[1];
		sqlType = tosqlType(sqlType);
		int i = 0;
		for(;i<v1.size();i++)
		{
			if(((String)v1.get(i)).trim().equals(dbType.trim()))
				break;
		}
		if(i==v1.size())
		{
			v1.add(i,dbType);
			v2.add(i,sqlType);
		}
		v_dbtosql[0] = v1;
		v_dbtosql[1] = v2;		
	}

	/**
	 *將sql類型正型值轉(zhuǎn)化為對應(yīng)的字符串
	*/
	public String tosqlType(String no)
	{
		int num = Integer.parseInt(no);
		switch(num)
		{
			case 2003:return "ARRAY";
			case -5:return "BIGINT";
			case -2:return "BINARY";
			case -7:return "BIT";
			case 2004:return "BLOB";
			case 16:return "BOOLEAN";
			case 1:return "CHAR";
			case 2005:return "CLOB";
			case 70:return "DATALINK";
			case 91:return "DATE";
			case 3:return "DECIMAL";
			case 2001:return "DISTINCT";
			case 8:return "DOUBLE";
			case 6:return "FLOAT";
			case 4:return "INTEGER";
			case 2000:return "JAVA_OBJECT";
			case -4:return "LONGVARBINARY";
			case -1:return "LONGVARCHAR";
			case 0:return "NULL";
			case 2:return "NUMERIC";
			case 1111:return "OTHER";
			case 7:return "REAL";
			case 2006:return "REF";
			case 5:return "SMALLINT";
			case 2002:return "STRUCT";
			case 92:return "TIME";
			case 93:return "TIMESTAMP";
			case -6:return "TINYINT";
			case -3:return "VARBINARY";
			case 12:return "VARCHAR";
			default:return "";
		}
	}

	/**
	 *將sql類型映射為java類型
	*/
	public String mapsqltojava(String sqlType)
	{
		if(sqlType.equals("ARRAY"))return "";
		if(sqlType.equals("BIGINT"))return "long";
		if(sqlType.equals("BINARY"))return "byte";
		if(sqlType.equals("BIT"))return "boolean";
		if(sqlType.equals("BLOB"))return "BLOB";
		if(sqlType.equals("BOOLEAN"))return "";
		if(sqlType.equals("CHAR"))return "String";
		if(sqlType.equals("CLOB"))return "CLOB";
		if(sqlType.equals("DATALINK"))return "";
		if(sqlType.equals("DATE"))return "Date";
		if(sqlType.equals("DECIMAL"))return "BigDecimal";
		if(sqlType.equals("DISTINCT"))return "";
		if(sqlType.equals("DOUBLE"))return "double";
		if(sqlType.equals("FLOAT"))return "double";
		if(sqlType.equals("INTEGER"))return "int";
		if(sqlType.equals("JAVA_OBJECT"))return "";
		if(sqlType.equals("LONGVARBINARY"))return "LONGbyte";
		if(sqlType.equals("LONGVARCHAR"))return "LONGString";
		if(sqlType.equals("NULL"))return "";
		if(sqlType.equals("NUMERIC"))return "BigDecimal";
		if(sqlType.equals("OTHER"))return "Object";
		if(sqlType.equals("REAL"))return "float";
		if(sqlType.equals("REF"))return "Ref";
		if(sqlType.equals("SMALLINT"))return "short";
		if(sqlType.equals("STRUCT"))return "";
		if(sqlType.equals("TIME"))return "Time";
		if(sqlType.equals("TIMESTAMP"))return "Timestamp";
		if(sqlType.equals("TINYINT"))return "short";
		if(sqlType.equals("VARBINARY"))return "byte";
		if(sqlType.equals("VARCHAR"))return "String";
		return "";
	}

	/**
	 *提交變化的內(nèi)容到文件
	*/
	public void commit()
	{
		String str = "<!--\r\n"
					+"sql的某一個數(shù)據(jù)類型映射為"+dbType+"的一個數(shù)據(jù)類型,此處為人為定義\r\n"
					+"//-->\r\n";
		//寫sql-to-DB
		str += "<sql-to-Access>\r\n";
		Vector v1 = (Vector)v_sqltodb[0];
		Vector v2 = (Vector)v_sqltodb[1];
		for(int i=0;i<v1.size();i++)
		{
			str += "\t<type>"+(String)v1.get(i)+"</type><map-type>"+(String)v2.get(i)+"</map-type>\r\n";
		}
		str += "</sql-to-Access>\r\n";

		str += "<!--\r\n"
				+dbType+"的某一個數(shù)據(jù)類型映射為sql的一個數(shù)據(jù)類型,此處為程序動態(tài)定義\r\n"
				+"因?yàn)楸境绦虻牟僮黜樞蛞欢橄葘?dǎo)出為程序中定義的數(shù)據(jù)格式,所以在將已經(jīng)\r\n"
				+"導(dǎo)出的數(shù)據(jù)文件導(dǎo)到\r\n"
				+"(1)"+dbType+"類型時:不用查詢本配置文件,直接映射為自身;\r\n"
				+"(2)其他類型時:要先將已經(jīng)導(dǎo)出的有數(shù)據(jù)庫的字段類型映射為sql類型,\r\n"
				+"  再查詢sql映射為目標(biāo)數(shù)據(jù)庫的字段類型,記為上面的列表文件\r\n"
				+"//-->\r\n";
		
		//寫DB-to-sql
		str += "<Access-to-sql>\r\n";
		Vector v3 = (Vector)v_dbtosql[0];
		Vector v4 = (Vector)v_dbtosql[1];
		for(int i=0;i<v3.size();i++)
		{
			str += "\t<type>"+(String)v3.get(i)+"</type><map-type>"+(String)v4.get(i)+"</map-type>\r\n";
		}
		str += "</Access-to-sql>\r\n";
		
		DealFile df = new DealFile();
		df.connFOS(conffile);
		df.writeCHStr(str);
		df.closeFOS();

		((Vector)v_sqltodb[0]).clear();
		((Vector)v_sqltodb[1]).clear();
		((Vector)v_dbtosql[0]).clear();
		((Vector)v_dbtosql[1]).clear();
	}


	public static void main(String args[])
	{
		DealConf rc = new DealConf();
		//初始化
		rc.initMapList("backupconf/Access.conf","Access");
		//查詢
		//System.out.println(rc.mapsqltoDB("FLOAT"));

		//寫入
		rc.addDBtosql("BLOB","-1");
		//更新到文件
		rc.commit();

	}
};

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品999在线播放| 日韩一区二区三区免费看| 精品第一国产综合精品aⅴ| 日韩国产精品久久| 69p69国产精品| 蜜臀a∨国产成人精品| 精品国产1区二区| 国产成人综合在线观看| 亚洲欧洲制服丝袜| 欧美自拍偷拍午夜视频| 香港成人在线视频| 欧美大肚乱孕交hd孕妇| 国产宾馆实践打屁股91| 国产精品视频免费| 色94色欧美sute亚洲线路二| 亚洲成人免费观看| 精品国产一区二区三区av性色| 国产精品一区二区男女羞羞无遮挡 | 亚洲精品久久久久久国产精华液| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美国产日韩亚洲一区| 成人动漫一区二区在线| 伊人一区二区三区| 亚洲精品一区二区三区香蕉| 成人精品一区二区三区四区| 五月天中文字幕一区二区| 精品久久免费看| 色综合久久久网| 免费高清不卡av| 国产精品欧美经典| 欧美日韩精品福利| 成人av资源网站| 日本成人在线电影网| 日本一区二区免费在线| 欧美午夜影院一区| 国产综合成人久久大片91| 一区二区三区在线观看国产| 欧美精品一区二区三区蜜臀 | 91黄色小视频| 国产原创一区二区| 一区二区三区视频在线看| 26uuu欧美| 欧美老女人在线| 成人av电影在线| 国产精品自产自拍| 亚洲国产视频a| 国产欧美日韩在线视频| 91精品啪在线观看国产60岁| 91在线云播放| 国产一区二区三区免费| 午夜激情久久久| 亚洲人一二三区| 欧美国产综合色视频| 日韩免费视频线观看| 精品视频色一区| 99精品桃花视频在线观看| 国产盗摄视频一区二区三区| 免费在线观看视频一区| 亚洲一区二区三区不卡国产欧美| 国产欧美精品一区二区色综合 | 经典三级在线一区| 亚洲成人av一区| 亚洲综合一区在线| 中文字幕亚洲在| 国产欧美视频一区二区| 久久综合久久综合久久综合| 欧美成人video| 欧美福利一区二区| 欧美日高清视频| 欧美综合亚洲图片综合区| 91久久国产最好的精华液| 成人国产精品免费观看动漫| 成人午夜视频在线| 国产99久久久国产精品潘金 | av电影在线观看不卡| 国产福利不卡视频| 国产一区二区三区在线观看精品 | 欧美日韩久久久一区| 91在线观看地址| 91视频免费播放| 色综合久久综合网欧美综合网| 91首页免费视频| 91国在线观看| 91久久免费观看| 欧美日韩激情一区二区| 欧美日韩精品电影| 日韩一区二区免费在线电影| 日韩精品一区在线| 精品国产第一区二区三区观看体验| 欧美一区二区二区| xfplay精品久久| 欧美国产一区在线| 亚洲黄色尤物视频| 婷婷开心久久网| 黑人精品欧美一区二区蜜桃| 国产成人免费视频一区| 不卡区在线中文字幕| 在线欧美日韩国产| 在线播放中文一区| 欧美精品一区在线观看| 国产精品你懂的在线欣赏| 综合精品久久久| 日韩精品欧美成人高清一区二区| 青青草成人在线观看| 精品一区二区三区视频| 99这里只有久久精品视频| 在线观看中文字幕不卡| 日韩一区二区免费视频| 国产片一区二区三区| 一区二区三区日韩精品| 蜜桃久久久久久| av中文字幕在线不卡| 欧美日韩免费不卡视频一区二区三区| 日韩免费看网站| 亚洲六月丁香色婷婷综合久久| 视频精品一区二区| 国产成人av电影在线观看| 972aa.com艺术欧美| 欧美一区二区视频在线观看| 国产欧美精品一区| 午夜视频在线观看一区| 成人午夜伦理影院| 欧美精品三级日韩久久| 欧美国产日韩精品免费观看| 天天免费综合色| av电影在线观看不卡| 欧美大片一区二区三区| 亚洲精品久久久久久国产精华液| 九九国产精品视频| 91国偷自产一区二区三区观看 | 日本在线播放一区二区三区| 成人18视频在线播放| 日韩一区二区三区观看| 亚洲柠檬福利资源导航| 精品一区二区三区日韩| 欧美日本国产视频| 中文欧美字幕免费| 捆绑调教美女网站视频一区| 在线免费不卡电影| 国产精品午夜久久| 国内精品免费在线观看| 欧美精品一级二级三级| 成人欧美一区二区三区在线播放| 美女视频免费一区| 欧美久久久久久蜜桃| 中文字幕日韩av资源站| 午夜精品久久久久久久| 美女免费视频一区二区| 91福利精品第一导航| 久久久久久久久久看片| 看片网站欧美日韩| 欧美久久久久久久久| 国产精品不卡在线| 成人三级在线视频| 91.xcao| 亚洲va欧美va人人爽午夜| 91麻豆免费在线观看| 久久久久国产精品麻豆| 国产久卡久卡久卡久卡视频精品| 欧美三级电影一区| 亚洲一区二区三区免费视频| 成人av在线网| 136国产福利精品导航| 99久久精品免费观看| 欧美国产国产综合| 成人一区二区三区中文字幕| 久久伊人蜜桃av一区二区| 久久99精品国产.久久久久久| 欧美日韩一区不卡| 亚洲chinese男男1069| 精品婷婷伊人一区三区三| 一区二区三区蜜桃网| 欧美日韩中文国产| 亚洲国产成人av| 91 com成人网| 三级影片在线观看欧美日韩一区二区 | 欧美视频一区二区在线观看| 亚洲一级二级三级| 欧美在线观看视频在线| 一区二区日韩av| 国产 日韩 欧美大片| 久久综合久久久久88| 国产成人综合视频| 国产日韩欧美精品一区| 国产精品一级片在线观看| 欧美电视剧在线观看完整版| 热久久久久久久| 欧美一区午夜视频在线观看| 另类小说一区二区三区| 久久嫩草精品久久久精品| 国产精品自拍av| 亚洲精品综合在线| 91美女福利视频| 蜜桃视频在线观看一区二区| 国产目拍亚洲精品99久久精品| 国产成人无遮挡在线视频| 亚洲丝袜另类动漫二区| 色综合视频在线观看| 蜜臀a∨国产成人精品| 国产精品毛片高清在线完整版|