您的位置:首页 > 其它

实际开发运用的工具类优化(二)。

2016-09-29 13:39 316 查看
如下:(比较数据库表字段和pdm中字段是否一致的工具类。)

import java.util.ArrayList;

import java.util.List;

/** 

* @author : suyuyuan

* @date :2016年5月17日 上午9:41:05 

* @version 1.0 

*/

public class Comparison {

public static void main(String[] args) {

List<String> database = new ArrayList<String>();
List<String> powerdesigner = new ArrayList<String>();

// 数据库中取出的字段:
String base = " ID
312  PAYMENT_TYPE_ID MONEY VOUCHER_ID
PAYMENT_STATUS DELETED
ADD_TIME UPDATE_TIME ";

String base4 = base.trim(); // 去除字符串两边的空格。
String sBase1 = base4.replaceAll(" ", ","); // 先把所有空格替换成 逗号。
String sBase2 = sBase1.replaceAll("\t", ","); // 再把所有的制表符替换成逗号。
String sBase3 = sBase2.replaceAll(",+", ","); // 把所有重复的逗号合并成一个逗号。
System.out.println(sBase3);

String[] baseArray = sBase3.split(",");
int baselength = baseArray.length;
System.out.println(baselength);

for (int i = 0; i < baselength; i++) {
database.add(baseArray[i].trim());
}

System.out.println(database);
System.out.println("------------------------------------------");

// PDM中取出的字段:
String designer = " ID  123  PAYMENT_TYPE_ID MONEY VOUCHER_ID
PAYMENT_STATUS DELETED
ADD_TIME UPDATE_TIME ";

String designer4=designer.trim();
String sDesigner1 = designer4.replaceAll(" ", ","); // 先把所有空格替换成 逗号。
String sDesigner2 = sDesigner1.replaceAll("\t", ","); // 再把所有的制表符替换成逗号。
String sDesigner3 = sDesigner2.replaceAll(",+", ","); // 把所有重复的逗号合并成一个逗号。
System.out.println(sDesigner3);

String[] designerArray = sDesigner3.split(",");
int designerlength = designerArray.length;
System.out.println(designerlength);

for (int i = 0; i < designerlength; i++) {
powerdesigner.add(designerArray[i].trim());
}

System.out.println(powerdesigner);

// 将database和powerdesigner进行对比,是否有差异元素
// 1、进行database在powerdesigner中的遍历
Boolean b1 = false;
String s1 = new String();
for (String baseItem : database) {

for (String designerItem : powerdesigner) {

if (baseItem.equals(designerItem)) {
b1 = true;
break; // 如果当前baseItem在powerdesigner中存在值,则跳出baseItem在剩余powerdesigner中的遍历,进行下一个baseItem的遍历;
}
b1 = false; // 如果在powerdesigner中找不到当前的baseItem,则设置Boolean为false。
}
if (!b1) {
s1 = baseItem;
System.out.println(s1 + "字段不存在PDM中");
}

}
// 2、同理,进行powerdesigner在database中的遍历
Boolean b2 = false;
String s2 = new String();
for (String designerItem : powerdesigner) {

for (String baseItem : database) {

if (designerItem.equals(baseItem)) {
b2 = true;
break;
}
b2 = false;
}
if (!b2) {
s2 = designerItem;
System.out.println(s2 + "字段不存在数据库中");
}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐