我正在研究使用NamedParameterJdbcTemplate
從MySQL數據庫獲取一些數據的方法。 listCurrentRecords
應從數據庫中返回對象類型列表Customer
,Product
和SalesOrder
。 objectType
是從方法內傳遞的參數(1 || 2 || 3)定義的,並且它在類的前面定義爲公共變量。如何將類對象轉換爲通用對象類型?
public static final int TYPE_PRODUCT = 1;
public static final int TYPE_CUSTOMER = 2;
public static final int TYPE_SALESORDER = 3;
該方法在下面提供。
public static List<Object> listCurrentRecords(int objectType)
{
// PRODUCT
if (objectType == 1){
}
//CUSTOMER
else if (objectType == 2){
}
// SALESORDER
else if (objectType == 3){
}
return null;
// return new ArrayList<Object>();
}
就是說,objectType == 2
,則它將需要從使用getMyCustomer
方法(同樣適用於Product
和SalesOrder
,他們會用他們的單獨的方法)如下所述Customer
表抓住一些數據,
public static List<Customer> getMyCustomer(){
return jdbc.query("select * from Customer", new RowMapper<Customer>() {
public Customer mapRow(ResultSet rs, int rowNum) throws SQLException {
Customer customer = new Customer();
customer.setCustomerID(rs.getString("CustomerID"));
customer.setName(rs.getString("Name"));
customer.setAddress(rs.getNString("Address"));
customer.setPhone1(rs.getNString("Phone 1"));
customer.setPhone2(rs.getNString("Phone 2"));
customer.setCreditLimit(rs.getDouble("Credit Limit"));
customer.setCurrentCredit(rs.getDouble("Current Credit"));
return customer;
}
});
else if (objectType == 2){ }
我想打電話給getMyCustomer
方法,並在那裏得到List<Customer>
。但是,方法listCurrentRecords
的返回類型是List<Object>
。如何轉換成List<Customer>
至List<Object>
。我提供的僞代碼如下,
// customer
else if (objectType == 2){
List<Customer> myCustomer = getMyCustomer();
// how to convert ***myCustomer*** to List<Object> ?
}
我很感謝如何在Java中正確編寫它的一些幫助。
對我來說,過去的解決方案工作。我仍在研究這個項目,稍後我會提供更多的反饋意見。 –