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

📄 packageconstants.java

📁 银行8583报文分析源码,供考参.程序输出XML再交给采集程序入数据库
💻 JAVA
字号:
package com.sunyard.dataanalyze;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;


public class PackageConstants {
	public static final int PACKAGE_RQ = 1;//请求包
	public static final int PACKAGE_RS = 2;//应答包
	public static final int HEAD_SHORT = 14;//短包头长度
	public static final int HEAD_LONG = 22;//长包头长度
	public static final int TRADENO_START_SHORT = 8;//短包头交易码起始位置
	public static final int TRADENO_START_LONG = 16;//长包头交易码起始位置
	public static final int TRADENO_LENGTH = 6;//交易码长度
	public static final int LISTEN_PORT = 60006;//监听端口
	public static final int COMMIT_NUM = 100;//批量提交记录条数
	public static final long LIMIT_COMMIT_TIME = 60*1000;//提交记录的最大时间间隔
	public static final String PACKAGE_SPLIT_STR = "!";//交易包分割字符
	public static final String SEND_PACKAKGE_ROOT = "TradeData";//发送XML文件根节点
	public static final String FLOW_DB = "FLOWDB";
	public static final String CFG_DB = "CFGDB";
	//public static String TARGET_ADDR = "192.168.52.10";
	//public static int TARGET_PORT = 4567;
	private  static Map FIELD_TYPE_MAPPIG_MAP = new HashMap();//字段类型映射
	//private static Map FIELD_MAPPING_MAP = new HashMap();//字段映射表
	private static List SQL_LIST = new SQLList();//SQL语句
	private static Map NOT_NULLABLE_FIELD_MAP = new HashMap();//不能为空的字段
	public static Logger log = Logger.getLogger("realflow");
	
	
	public static Map getFieldTypeMap(){
		if(FIELD_TYPE_MAPPIG_MAP.size()==0){
			resetTypeMap();
			System.out.println("初始化FIELDTYPEMAP");
		}
		return FIELD_TYPE_MAPPIG_MAP;
	}
	
	/*public static Map getFieldMapping(){
		if(FIELD_MAPPING_MAP.size()==0){
			resetFieldMapping();
			System.out.println("初始化FIELD_MAPPING_MAP");
		}
		return FIELD_MAPPING_MAP;
	}*/
	
	public static void resetTypeMap(){
		ConnectionFactory cf = new ConnectionFactoryImpl();
		Connection conn = cf.getConnection(FLOW_DB);
		try{
			DatabaseMetaData dm = conn.getMetaData();
			ResultSet rs = dm.getColumns(null, "%", "fl_flow_tb", "%");
			while(rs.next()){
				String columnName = (rs.getString("COLUMN_NAME")).toUpperCase();
				String columnType = rs.getString("TYPE_NAME");
				int nullable = rs.getInt("NULLABLE");
				FIELD_TYPE_MAPPIG_MAP.put(columnName, columnType);
				if(nullable == 0){
					NOT_NULLABLE_FIELD_MAP.put(columnName, columnType);
				}
			}
			NOT_NULLABLE_FIELD_MAP.remove("SEQ_ID");
			rs.close();
			conn.close();
		}catch(SQLException e){
			e.printStackTrace();
		}
	}
	public static Map getNotNullableFieldMap(){
		return NOT_NULLABLE_FIELD_MAP;
	}
	public static List getSQLs(){
		return SQL_LIST;
	}
	public static void resetSQLs(){
		SQL_LIST.clear();
	}
	/*public static void resetFieldMapping(){
		ConnectionFactory cf = new ConnectionFactoryImpl();
		Connection conn = cf.getConnection(CFG_DB);
		Statement stmt = null;
		ResultSet rs = null;
		try{
			stmt = conn.createStatement();
			rs = stmt.executeQuery("SELECT * FROM SM_FIELDMAPPING_TB");
			while(rs.next()){
				String packageField = (rs.getString("PACKAGE_FIELD")).toUpperCase();
				String flowField = (rs.getString("FLOWTB_FIELD")).toUpperCase();
				FIELD_MAPPING_MAP.put(packageField, flowField);
			}
			rs.close();
			stmt.close();
		}catch (SQLException e){
			e.printStackTrace();
		}
	}*/
	public static void main(String args[]){
		resetTypeMap();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -