您的位置:首页 > 其它

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

2016-06-30 11:09 246 查看
工具类如下:

package XML;

import java.util.Scanner;

/** (顺序一:列名的列表转行,以及实体类属性。)在控制台中输入所有换行形式的列名,以end字符串结束,输出实体类中的属性名定义。

 * @author : suyuyuan

 * @date :2016年5月18日 下午2:24:15

 * @version 1.0

 */

public class ChangeUpList {
public static void main(String[] args) {

Scanner scn = new Scanner(System.in);

String stemp = "";
String stemps = "";
System.out.println("请输入多行数据,遇到行内容为“end”时结束:");

while (!"end".equals(stemp = scn.nextLine())) {
stemps += stemp + " ";
}

scn.close();
System.out.println("列名的列表转行:");
System.err.println(stemps);

String s = stemps;

// String newstr1=s.replaceAll(" ",","); //先把所有空格替换成 逗号。
// System.out.println("newstr1:"+newstr1);
String newstr2 = s.replaceAll("\\s", ","); // 再把所有的制表符和空格替换成逗号。
// System.out.println("newstr2:"+newstr2);

// String newstr5=newstr2.replaceAll(",+", "\t"); //纯粹的转化。
String newstr3 = newstr2.replaceAll(",+", ";\tprivate String "); // 把所有重复的逗号合并成一个制表符,并添加上指定的字符串,方便用于复制到excel中。

String str = newstr3;

String lower = str.toLowerCase();

String slower = lower;

StringBuilder sb = new StringBuilder(slower);
String[] strings = new String[100];
int i = slower.indexOf('_');
int j = 1;

strings[0] = slower.substring(0, 1).toUpperCase(); // strings[0]存储第一个大写字符;
// System.out.println(strings[0]);
while (i != -1) {

strings[j] = slower.substring(i + 1, i + 2).toUpperCase();

// System.out.println("当前索引位置" + i + "在字符串数组strings中的位置:" + j + "已经替换成" + strings[j]);
// System.out.println("替换成大写前:"+sb.toString());
sb.replace(i + 1, i + 2, strings[j]);
// System.out.println("替换成大写后:"+sb.toString());
i = slower.indexOf('_', i + 1);
j++;
}

// sb.replace(0, 1, strings[0]);

String s2 = sb.toString();
String stru = s2.replaceAll("_", "");

String newstru = "private String " + stru.replaceAll("string", "String") + ";"; // 拼接成想要的结果。

String[] newstruArray = newstru.split(";");

System.out.println("------------------分割线-----------------");
for (int n = 0; n < newstruArray.length - 1; n++) {
System.err.println(newstruArray
+ ";");
}

}

}

//

package XML;

/** (顺序二:数据库列名的行形式,输出在XML文件中对应大写和小写字符串形式。) 

* @author : suyuyuan

* @date :2016年5月23日 下午2:11:40 

* @version 1.0 

*/

public class ChangeColumn {
public static void main(String[] args) {
//输入需要转化的数据库列名的字符串(通过ChangeUpList转化):
String s = "NAME
ADD_TIME UPDATE_TIME
AGE  ";    //输入需要转化的长字符串。:

String newstr1=s.replaceAll(" ",","); //先把所有空格替换成 逗号。
String newstr2=newstr1.replaceAll("\t",",");  //再把所有的制表符替换成逗号。
String newstr3=newstr2.replaceAll(",+", "\t"); //纯粹的转化。

String str=newstr3;

String lower = str.toLowerCase();
String upper = str.toUpperCase();

// System.out.println(lower);
System.err.println("XML大写:\n" + upper);

String slower = lower;

StringBuilder sb=new StringBuilder(slower);
String[] strings= new String[100];
int i = slower.indexOf('_');
int j=1;

strings[0]=slower.substring(0,1).toUpperCase(); //strings[0]存储第一个大写字符;
while (i != -1) {

strings[j]=slower.substring(i+1,i+2).toUpperCase();

// System.out.println("当前索引位置"+i+"在字符串数组strings中的位置:"+j+"已经替换成"+strings[j]);
sb.replace(i+1, i+2, strings[j]);

i = slower.indexOf('_', i + 1);
j++;
}

String s1=sb.toString();
String str1=s1.replaceAll("_", "");
System.err.println("XML小写:\n" + str1);

}

}

//

package XML;

import java.util.ArrayList;

import java.util.List;

/** (顺序三:输入字段的小写列表字符串,数据库列名列表字符串,输出XML文件配置信息。)

* @author : suyuyuan

* @date :2016年5月23日 下午2:46:27 

* @version 1.0 

*/

public class ChangeXML {
public static void main(String[] args) {

//以下是小写字符串:
String s="name
addTime updateTime
age ";     //字符串s中包含若干空格和制表符 \t。
String newstr1=s.replaceAll(" ",","); //先把所有空格替换成 逗号。
String newstr2=newstr1.replaceAll("\t",",");  //再把所有的制表符替换成逗号。
String newstr3=newstr2.replaceAll(",+", ","); //把所有重复的逗号合并成一个逗号。

String[] strings=newstr3.split(",");     //按逗号分解该字符串。

List<String> stringList = new ArrayList<String>(); //将分解后的字符串数组存储到ArrayList对象当中。

for(int i=0;i<strings.length;i++){
stringList.add(strings[i].trim());
}
System.out.println(stringList);

//以下是大写字符串:
System.out.println("-------------------分割线----------------------");

String ups = "NAME
ADD_TIME UPDATE_TIME
AGE ";    //输入需要转化的长字符串。:

String upstr1=ups.replaceAll(" ",","); //先把所有空格替换成 逗号。
String upstr2=upstr1.replaceAll("\t",",");  //再把所有的制表符替换成逗号。
String upstr3=upstr2.replaceAll(",+", ","); //把所有重复的逗号合并成一个逗号。

String[] stringups=upstr3.split(",");     //按逗号分解该字符串。

List<String> stringListup = new ArrayList<String>(); //将分解后的字符串数组存储到ArrayList对象当中。

for(int i=0;i<stringups.length;i++){
stringListup.add(stringups[i].trim());
}
System.out.println(stringListup);
System.out.println();

System.out.println("-------------------分割线----------------------");
//打印XML:
System.out.println("<sql id=\"fields\">");
System.out.println();

for(int i=0;i<strings.length;i++){
System.out.println("<if test=\""+strings[i]+"!=null\">,"+stringups[i]+"</if>");
}

//
System.out.println();
System.out.println("<sql id=\"values\">");
System.out.println();

for(int i=0;i<strings.length;i++){
System.out.println("<if test=\""+strings[i]+"!=null\">,#{"+strings[i]+"}</if>");
}

//
System.out.println();
System.out.println("<sql id=\"set\">");
System.out.println();

for(int i=0;i<strings.length;i++){
System.out.println("<if test=\""+strings[i]+"!=null\">,"+stringups[i]+"=#{"+strings[i]+"}</if>");
}

//
System.out.println();
System.out.println("<sql id=\"where\">");
System.out.println();

for(int i=0;i<strings.length;i++){
System.out.println("<if test=\""+strings[i]+"!=null\">AND "+stringups[i]+"=#{"+strings[i]+"}</if>");
}

}

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