2011-04-29 63 views
0
package dao; 

import java.sql.ResultSet; 
import java.sql.SQLException; 

import org.krams.tutorial.oxm.SubscriptionRequest; 
import org.springframework.jdbc.core.RowMapper; 
import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport; 

public class MyMapper implements RowMapper<SubscriptionRequest> { 
    public SubscriptionRequest mapRow(ResultSet rs, int rowNum) throws SQLException { 
     SubscriptionRequest subscription = new SubscriptionRequest(); 
     subscription.setId(rs.getInt(1)); 
     subscription.setCity(rs.getString(2)); 
     return subscription; 
    } 
} 

這是我班的時刻,這是一個映射爲我的1臺的Java結果集的RowMapper

如何使用其他數據庫表一樣映射類? 或爲每個表,我必須創建新的映射類?

回答

3

由於您的RowMapper不包含狀態,因此該類的相同實例可用於任何表/選擇。唯一的問題是如果這些表/選擇可以轉換爲SubscriptionRequest對象幷包含第一個int和第二個字符串列。

如果不是,則必須爲要生成的每個對象創建一個新的RowMapper。或者使用一些「通用」行映射器,它將從每行產生一個映射而不是具體的對象。