sping中的RowMapper可以將數據中的每一行數據封裝成用戶定義的類.
我們在數據庫查詢中,如果返回的類型是用戶自定義的類型(其實我們在數據庫查詢中大部分返回的都是自定義的類)則需要包裝,如果是Java自定義的類型,如:String則不需要.
如果sping與hibernate 相結合了,基本上是用不到,大多數都是在spring單獨使用時用到.
可以通過建立內部類實現RowMapper接口,RowMapper中有一個mapRow方法,所以實現RowMapper接口一定要實現mapRow方法,而對自定義類的包裝就在mapRow方法中實現.
這里只是一個簡單的例子:
public class TestDao {
private JdbcTemplate jt;
public void setJt(JdbcTemplate jt) {
this.jt = jt;
}
public List<TNpc> getAll(){
String sql = "select * from t_npc";
//使用
List list = jt.query(sql, new NpcRowMapper());
return list;
}
/**
* 定義內部類實現RowMapper接口
*/
public class NpcRowMapper implements RowMapper{
//實現mapRow方法
public Object mapRow(ResultSet rs, int num) throws SQLException {
//對類進行封裝
TNpc npc = new TNpc();
npc.setId(rs.getLong("id"));
npc.setName(rs.getString("name"));
return npc;
}
}
}
