1. BeanPropertyRowMapper接口
- 当我查询时,使用下面的接口,原理是根据实体类的字段名和表的列名相同时才有结果,否则对应的字段是null
List<MusicSong> songList = jdbcTemplate.query(sql.toString(),
new Object[]{
musicListId, startLine, endLine},
new BeanPropertyRowMapper<>(MusicSong.class));
2. 创建mapper类实现接口
class MusicSongRowMapper implements RowMapper<MusicSong> {
@Override
public MusicSong mapRow(ResultSet rs, int rowNum) throws SQLException {
MusicSong song = new MusicSong();
// 设置结果集
song.setSongId(rs.getLong("music_song_id"));
song.setTitle(rs.getString("music_title"));
song.setCoverImg(rs.getString("music_cover_img"));
song.setSinger(rs.getString("music_singer"));
song.setDetails(rs.getString("music_details"));
song.setListeningVolume(rs.getLong("music_listening_volume"));
song.setLyricsId(rs.getLong("lyrics_id"));
song.setCreateDate(rs.getDate("music_create_date"));
return song;
}
}
变更如下,用子类
List<MusicSong> songList = jdbcTemplate.query(sql.toString(),
new Object[]{
musicListId, startLine, endLine},
new MusicSongRowMapper());