java如何使代码“面向对象”,以便在带有CLOB的ArrayList中使用变量
我试图从OracleCLOB创建一个列表,并将参数写入JSON文件
在这里,我访问数据库,获取所有必要的信息,并将其分配给变量“name”、“status”、“lastsucture”。。等等
如何使它更“面向对象”,并访问其中的所有变量(名称、状态等),以便对提供的数据执行额外的检查和计算
public class DataExchangeExecReport{
public static List<DataExchangeResult> getDataExchangeInfo() throws SQLException, ParseException {
String query = "select NAME, RUNTIME_PARAMETERS from EXCHANGE_TASKS where NAME like '%[test]%'";
String dbUrl = FuelConfig.getInstance().getDBURL();
JDBCManager db = new JDBCManager(dbUrl);
ResultSet clobQuery = db.executeQuery(query);
List<DataExchangeResult> results = new ArrayList<>();
while (clobQuery.next()) {
Clob clob = clobQuery.getClob("RUNTIME_PARAMETERS");
String clobValue = clob.getSubString(1, (int) clob.length());
String name = clobQuery.getString("NAME");
String status = StringUtils.substringBetween(clobValue, "status=", "\n");
String lastSucessStart = StringUtils.substringBetween(clobValue, "lastSuccessfulExecutionStartTime=", "\n");
String exception = StringUtils.substringBetween(clobValue, "STACKTRACE", "\n");
System.out.println("Name :" + name);
System.out.println("Status: " + status);
System.out.println("Last Start: " + lastSucessStart);
System.out.println("Exception: " + exception);
System.out.println("***************************************");
}
return results;
我试图用下面的构造函数和getter做一些事情,但没有成功
public class DataExchangeResult {
private String name;
private String status;
private String lastSuccessStart;
private String exception;
public DataExchangeResult(String name, String status, String lastSuccessStart, String exception) {
this.name = name;
this.status = status;
this.lastSuccessStart = lastSuccessStart;
this.exception = exception;
}
public String getName () {
return name;
}
public String getStatus () {
return status;
}
public String getLastSuccess () {
return lastSuccessStart;
}
public String getException () {
return exception;
}
}
致意
共 (0) 个答案