commfunc.java
来自「采用web2.0技术,采用动态标签,sql语句全部存储在数据库里面.开发速度快.」· Java 代码 · 共 411 行
JAVA
411 行
package com.sztheater.framework.util;
import java.sql.*;
import java.util.*;
/**
* 公共函数
*/
public class CommFunc {
public static String TYPE_NUMBER = ",number,numeric,real,smallmoney,num,float,decimal,double,int,integer,long,longint,money,bigint,binary,bit,smallint,tinyint,uniqueidentifier,";
public static String TYPE_DATE = ",date,datetime,timestamp,smalldatetime,time,";
public static String TYPE_STRING = ",str,string,char,nchar,ntext,nvarchar,sql_variant,sysname,text,varchar,varchar2,";
public static String TYPE_LOGIC = ",like,like%,%like,>,<,=,>=,<=,";
/*在HashMap设置数据,如果数据不存在,则设置指定的值*/
public static void setValue(HashMap aHash,String f_name,String f_value){
if(aHash==null ) return ;
Object obj = aHash.get(f_name);
String s_value = null;
if(obj!=null ){
if(!obj.getClass().getName().equals("java.lang.String")) return;
s_value = (String)obj;
if(!s_value.equals("")) return ;
}
aHash.put(f_name,f_value);
}
/*在HashMap拷贝数据*/
public static void copyData(HashMap source,HashMap dest){
if(source==null || dest==null) return ;
Iterator it = source.keySet().iterator();
Object keyObj = null;
Object valueObj= null;
while(it!=null && it.hasNext()){
keyObj = it.next();
valueObj= source.get(keyObj);
if(keyObj==null || valueObj==null)continue;
dest.put(keyObj,valueObj);
}
}
/*在ArrayList拷贝数据*/
public static void copyData(ArrayList sList,ArrayList dList){
copyData(sList,dList,false);
}
public static void copyData(ArrayList sList,ArrayList dList,boolean bAdd){
if(sList==null || sList.size()<1 || dList==null) return ;
int iLoop = 0;
int iLoopNum = sList.size();
//释放目标列表中元素
if(!bAdd){
freeObj(dList);
dList.clear();
}
String class_name = "";
Object obj = null;
for(iLoop=0;iLoop<iLoopNum;iLoop++){
obj = sList.get(iLoop);
if(obj==null) continue;
class_name = obj.getClass().getName();
if(class_name.equals("java.util.HashMap")){
HashMap aHash = (HashMap)obj;
HashMap bHash = new HashMap();
copyData(aHash,bHash);
dList.add(aHash);
continue;
}
if(class_name.equals("java.lang.String")) {
String str = (String)obj;
dList.add(str);
continue;
}
dList.add(obj);
}
}
/*释放对象中数据*/
public static void freeObj(Object Obj){
if(Obj ==null) return;
String class_name = Obj.getClass().getName();
if(class_name.equals("java.lang.String")){
class_name = null;
return;
}
Object keyObj = null;
Object valueObj= null;
if(class_name.equals("java.util.HashMap")){
HashMap aHash = (java.util.HashMap)Obj;
Iterator it = aHash.keySet().iterator();
while(it!=null && it.hasNext()){
keyObj = it.next();
valueObj= aHash.get(keyObj);
if(keyObj !=null) freeObj( keyObj );
if(valueObj!=null) freeObj( valueObj );
keyObj = null;
valueObj = null;
}
}
if(class_name.equals("java.util.ArrayList")){
ArrayList aList = (java.util.ArrayList)Obj;
if(aList==null) return ;
int iLoop = 0;
int iLoopNum = aList.size();
for(iLoop=0;iLoop<iLoopNum;iLoop++){
valueObj = aList.get(iLoop);
freeObj( valueObj );
valueObj = null;
}
aList.clear();
}
}
//判断两个HashMap 中是否相同,判断键名称有dHash来提供
public static boolean isEuqals(HashMap sHash,HashMap dHash){
if(sHash==null || dHash==null) return false;
String f_name = null;
String f_value = null;
String f_temp = null;
Iterator it = null;
it = dHash.keySet().iterator();
while(it!=null && it.hasNext()){
f_name = (String)it.next();
if(f_name==null) continue;
f_value = (String) sHash.get(f_name);
f_temp = (String) dHash.get(f_name);
if(f_value==null) f_value = "";
if(f_temp ==null) f_temp = "";
if(f_temp.equals(f_value)) continue;
return false;
}
return true;
}
//判断列表中是否存在指定的值
public static boolean judgeExists(ArrayList vList,String s_value){
if(s_value==null || vList==null) return false;
int iLoop = 0;
int iLoopNum = 0;
boolean bExist = true;
Object obj = null;
String class_name = null;
iLoopNum = vList.size();
for(iLoop=0;iLoop<iLoopNum;iLoop++){
obj = vList.get(iLoop);
if(obj==null) continue;
class_name = obj.getClass().getName();
if(class_name.equals("java.lang.String") && s_value.equals(obj)) return true;
}
return false;
}
public static ArrayList getListFromStr(String str){
if(str==null) return null;
int iPos1 = 0;
int iPos = 0;
String s_name= null;
ArrayList aList = null;
str = str.trim().toLowerCase();
while(!str.equals("")){
iPos = str.indexOf("`");
if(iPos<0){
iPos = str.indexOf(";");
iPos1 = str.indexOf(",");
if(iPos<0 || (iPos>iPos1 && iPos1>-1 )) iPos = iPos1;
}
if(iPos<0){
s_name = str;
str = "";
}else{
s_name = str.substring(0,iPos).trim();
str = str.substring(iPos+1).trim();
}
if(s_name.equals("")) continue;
if(aList==null) aList= new ArrayList(10);
aList.add(s_name);
}
return aList;
}
public static String toString(ArrayList aList,boolean bXML){
if(aList==null) return "";
StringBuffer sbRet = new StringBuffer();
int iLoop = 0;
int iLoopNum = aList.size();
Object obj = null;
int iRowIndex = 0;
String strRow = "";
String row_name = "";
HashMap aHash = null;
Object objTmp =null;
String class_name = null;
iLoopNum = aList.size();
for(iLoop=0;iLoop<iLoopNum;iLoop++){
obj = aList.get(iLoop);
if(obj==null) continue;
row_name = null;
class_name = obj.getClass().getName();
if(class_name.equals("java.util.HashMap")){
aHash = (HashMap)obj;
strRow = toString(aHash,bXML);
objTmp = aHash.get("ROW_ID");
if(objTmp!=null && objTmp.getClass().getName().equals("java.lang.String")) row_name = (String)objTmp;
//Console.Out.WriteLine( iLoop+" " + strRow);
}
if(class_name.equals("java.util.ArrayList")){
strRow = toString((ArrayList) obj, bXML);
}
if(class_name.equals("java.util.String")){
strRow = (String) obj;
}
if(strRow==null || strRow.equals("")) continue;
iRowIndex ++;
if(row_name==null || row_name.trim().equals("")) row_name= "ROW_"+ iRowIndex;
if(bXML){
sbRet.append("\t<");
sbRet.append(row_name);
sbRet.append(">\n");
}
sbRet.append(strRow);
if(bXML){
sbRet.append("\t</");
sbRet.append(row_name);
sbRet.append(">");
}
sbRet.append("\r\n");
}
String str = sbRet.toString();
sbRet.delete(0,sbRet.length());
sbRet.setLength(0);
sbRet = null;
return str;
}
/* 将哈希表的元素以XML来显示
*/
public static String toString(HashMap aHash,boolean bXML){
if(aHash==null) return "";
StringBuffer sbRet = new StringBuffer();
Iterator it = aHash.keySet().iterator();
while(it!=null && it.hasNext()){
Object keyObj = it.next();
Object valueObj = aHash.get(keyObj);
if(bXML){
sbRet.append("\t\t<");
sbRet.append(keyObj);
sbRet.append(">");
sbRet.append(valueObj);
sbRet.append("</");
sbRet.append(keyObj);
sbRet.append(">");
sbRet.append("\r\n");
}else{
sbRet.append(keyObj);
sbRet.append("=");
sbRet.append(valueObj);
sbRet.append("\r\n");
}
}
String str = sbRet.toString();
sbRet.delete(0,sbRet.length());
sbRet.setLength(0);
sbRet = null;
return str;
}
//取得值
public static HashMap getValue(ArrayList aList,int iIndex ){
Object obj = null;
if(aList==null) return null;
int iSize = aList.size();
if(iIndex>-1 && iIndex<iSize) obj = aList.get(iIndex);
if(obj!=null && obj.getClass().getName().equals("java.util.HashMap")) return (HashMap)obj;
return null;
}
public static String getValue(HashMap aHash,String key_name ,String def ){
return getValue( aHash, key_name , def ,false);
}
public static String getValue(HashMap aHash,String key_name ,String def ,boolean bTrim){
if(aHash==null || key_name==null) return def;
String sValue = null;
key_name = key_name.trim();
Object obj = aHash.get(key_name);
if(obj!=null && obj.getClass().getName().equals("java.lang.String")) sValue =(String)obj;
if(sValue==null) sValue = def;
if(bTrim && sValue!=null ) sValue = sValue.trim();
return sValue;
}
/*
描述:
*<p>依据指定的源字段名与字段值,取得需要的字段值</p>
* @param aList 数据集合
* @param s_name 源字段名
* @param s_value 字段值
* @param r_value 需要的字段名
* @return 需要的字段值
*/
public static String getValue(ArrayList aList,String s_name,String s_value,String r_value){
Object obj = null;
int iSize = aList.size();
int iLoop = 0;
String class_name = null;
String f_value = null;
HashMap aHash = null;
if(aList==null || s_name==null) return null;
iSize = aList.size();
for(iLoop=0;iLoop<iSize;iLoop++){
obj = aList.get(iLoop);
if(obj==null) continue;
class_name = obj.getClass().getName();
if(!class_name.equals("java.util.HashMap")) continue;
aHash =(HashMap)obj;
f_value = getValue(aHash,s_name ,null);
if(f_value==null) continue;
if(f_value.equals(s_value)) {
return getValue(aHash,r_value ,null);
}
}
return null;
}
public static int strToInt(String s,int iDef){
if(s==null || s.trim().equals("")) return iDef;
try{
return Integer.parseInt(s,10);
} catch(Exception e){
return iDef;
}
}
//取得上传的文件中取得相关的文件信息
public static HashMap getUpload(HashMap hashpara,String f_name){
if(hashpara==null ) return null;
if(f_name==null || f_name.trim().equals("")) return null;
f_name = f_name.trim();
Object obj = hashpara.get("FILE-LIST");
if(obj==null || obj.getClass().getName().indexOf("ArrayList")<0) return null;
ArrayList aList = (ArrayList)obj;
int iLoop = 0;
int iLoopNum = aList.size();
HashMap aHash = null;
String s_name = null;
for(iLoop=0;iLoop<iLoopNum;iLoop++){
aHash = (HashMap)aList.get(iLoop);
if(aHash==null) continue;
s_name = (String)aHash.get("name");
if(s_name!=null && s_name.equals(f_name)){
return aHash;
}
}
return null;
}
public static ArrayList getUploadFiles(HashMap hashParam){
if(hashParam==null) return null;
Object obj = hashParam.get("FILE-LIST");
if(obj==null || obj.getClass().getName().indexOf("ArrayList")<0) return null;
ArrayList fileList = (ArrayList)obj;
int iLoop = 0;
int iLoopNum = 0;
HashMap aHash = null;
String real_file = null;
ArrayList aList = null;
if(fileList!=null) iLoopNum = fileList.size();
for(iLoop=0;iLoop<iLoopNum;iLoop++){
aHash = (HashMap)fileList.get(iLoop);
real_file= CommFunc.getValue(aHash ,"real_file" ,"" ,true);
if(real_file.equals("")) continue;
if(aList==null) aList =new ArrayList(10);
aList.add(aList);
}
return aList;
}
public static ArrayList getDataFromStr(String str){
if(str==null) return null;
int iPos1 = 0;
int iPos = 0;
String f_name = null;
String f_value= null;
String f_expr = null;
ArrayList aList = null;
HashMap aHash = null;
while(!str.equals("")){
iPos = str.indexOf("`");
if(iPos<0){
f_expr = str;
str = "" ;
}else{
f_expr = str.substring(0,iPos );
str = str.substring(iPos + 1);
}
iPos = f_expr.indexOf("=");
if(iPos<0) continue;
f_name = f_expr.substring(0,iPos );
f_value = f_expr.substring(iPos + 1);
if(aHash==null || aHash.containsKey(f_name)) {
aHash = new HashMap();
if(aList==null) aList= new ArrayList(10);
aList.add(aHash);
}
aHash.put(f_name,f_value);
}
return aList;
}
public static void main(String args[]) {
String str = "`column_id=111`tag_id=aaaa`column_id=222`column_id=333`tag_id=ccc";
ArrayList aList = getDataFromStr(str);
System.out.println(aList);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?