[問題] java ee的getResultList如何實作
我想要知道java ee的getResultList method是如何實作
我有下ee api的source code查只知道在Query interface有定義getResultList method
不清楚在哪裡實作code 我很想知道getResultList如何work
另外如果要研究api的source code有沒有建議的方法入門
主要是因為我寫了1個class想要將query resultSet存到對應的物件
//連接資料庫
public class DBConnection {
private Connection connection;
private Statement statement;
private ResultSet resultSet;
private boolean hasRow;
private boolean isReturn;
private ArrayList<ArrayList<Object>> allResultList;
private Object returnObj;
public void connectDB(String query) {
.
.
.
try {
Class.forName("com.informix.jdbc.IfxDriver");
connection = DriverManager.getConnection(dbURL);
statement =
connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSetMetaData metaData = resultSet.getMetaData();
int numberOfColumns = metaData.getColumnCount();
while (resultSet.next()) {
hasRow = true;
if (isReturn) {
if (numberOfColumns == 1) {
resultSet.last();
int rowCount = resultSet.getRow();
resultSet.first();
if (rowCount == 1)
returnObj = resultSet.getObject(1);
}
else {
ArrayList<Object> arrayResultSet = new ArrayList<Object>();
for (int i = 1; i <= numberOfColumns; i++) {
arrayResultSet.add(resultSet.getObject(i));
}
allResultList.add(arrayResultSet);
}
}
else
break;
}
}
catch (SQLException sqlEx) {
.
.
.
}
}
//回傳query 1筆結果
public Object getReturnObj(){ return returnObj; }
//回傳query 結果
public ArrayList<ArrayList<Object>> getAllResultList() {
return allResultList;
}
}
//接收處理data
public class DataProcessing {
private ArrayList<TableAfpopf1> Afpopf1List;
.
.
.
private void setDataList(ArrayList<ArrayList<Object>> allResultList, int
choiceNum)
{
int inputindex = 0;
DateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
if (choiceNum == 1) {
for (int i=0; i<allResultList.size(); i++) {
TableAfpopf1 afpItem = new TableAfpopf1();
for (Object obj : allResultList.get(i)) {
switch (inputindex+1) {
case 1:
afpItem.setFcerno((String)obj);
break;
.
.
.
.
case 57:
afpItem.setQueryno((String)obj);
break;
}
inputindex++;
}
Afpopf1List.add(afpItem);
}
}
.
.
.
}
}
由於query有57筆欄位
因此case 1到case 57塞到TableAfpopf1的Afpopf1List裡
我覺得這code實在有點蠢 剛好發現getResultList似乎有我想要的功能
所以我想知道getResultList如何被實作出來
或者有其他有效率的寫法也可以讓我學習
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.226.18.28
推
11/08 16:00, , 1F
11/08 16:00, 1F