「Spring」インタフェースRowMapperを実装する
説明
1.public interface RowMapper<T>
行ごとに ResultSetSE の行をマッピングするために JdbcTemplate によって使用されるインターフェース。
2.mapRow(ResultSetSE rs, int rowNum)
ResultSet のデータの各行をマップするには、実装でこのメソッドを実装する必要があります。
使用例
1.RowMapperを実装
package com.arkgame.study.user.model;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.RowMapper;
public class UserRowMapper implements RowMapper
{
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
User user = new User();
user.setDepId(rs.getInt("DEPID"));
user.setName(rs.getString("NAME"));
user.setAge(rs.getInt("AGE"));
return user;
}
}
2.実装クラスのmapRowメソットを利用
queryForObject()メソッドに渡すと、返された結果はカスタムのmapRow()メソッドを呼び出して値を取得します。
public User findByUserId(int depId){
String selectSql = "SELECT * FROM USER WHERE DEPID = ?";
User user = (User)getJdbcTemplate().queryForObject(
selectSql, new Object[]{ depId }, new UserRowMapper());
return user;
}