我希望標題以及設置添加對象JSON ...JAVA - 從連接SQL查詢
我有一個現有的Java應用程序(我不能改變所有的應用程序),它只是暴露了數據庫表的使用JSON gson庫。
我的問題是如何創建一個Json不僅與DB的簡單字段,但與鏈接的對象。
我有一個表這樣
| objectid | plantid | other_fields |
現在已有GSON給我簡單的plantid
爲整數,但我有一個plants
表
| plantid | plantname | other_fields |
我想有gson與工廠對象,而不僅僅是plantid
這就是應用程序如何映射t他的SQL查詢示範
public ArrayList<ObjectsEntity> getObject(String objectId){
ArrayList<ObjectsEntity> list = new ArrayList<>();
ResultSet rs = null;
try {
Connection connLocal = connFactLocal.getConnection();
String query = "select * from OBJECTS o left join PLANTS p on o.PLANTID = p.PLANTID "
+ "left join OBJECTTYPES ot on o.OBJECTTYPEID = ot.OBJECTTYPEID";
Statement stmt = connLocal.createStatement();
rs = stmt.executeQuery(query);
while (rs.next()) {
ObjectsEntity oe = new ObjectsEntity();
oe.setOBJECTID(rs.getInt("OBJECTID"));
oe.setPLANTID(rs.getInt("PLANTID"));
oe.setOBJECTNAME(rs.getString("OBJECTNAME"));
oe.setOBJECTTYPEID(rs.getInt("OBJECTTYPEID"));
oe.setDESCRIPTION(rs.getString("DESCRIPTION"));
oe.setISMONITORED(rs.getBoolean("ISMONITORED"));
oe.setGROUP(rs.getString("GROUP"));
list.add(oe);
}
} catch (SQLException e){
logger.error("SQL Error:",e);
}
return list;
}
ObjectsEntity.java是一個簡單的映射與數據庫表我試圖改變這種映射更新
int PLANTID
與
Plants plant
getter和setter
但後來我不知道如何設置查詢的結果集植物...任何想法?
既然你已經有一個對象來存儲你的數據,你只需要改變'oe.setPLANTID(rs.getInt(「PLANTID」));''對植物的植物= new Plants(); plants.setId(rs.getInt( 「PLANTID」)); plants.setOtherFields(....)....; oe.setPlants(植物);' –