「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; }