項目中用到了java.util.Date屬性的Model,但是在RowMapper中ResultSet獲取getDate時,時間的時分秒都爲0,爲了解決這個0的問題,
rs應該用getTimestamp()而不用getDate()即可。
如下所示:
1.領域類
public class StudySchedule {
private int id;
private long studyTime;//學習時間
private String courseName;//課程名
private String userId;//用戶登錄id
private int coursePage;//總頁數
private String courseView;//已學習頁數
private Date lastStudyTime;//最後學習時間
public Date getLastStudyTime() {
return lastStudyTime;
}
public void setLastStudyTime(Date lastStudyTime) {
this.lastStudyTime = lastStudyTime;
}
……
}
2.對應的RowMapper類
public class StudyScheduleRowMapper implements RowMapper<StudySchedule>{
public StudySchedule mapRow(ResultSet rs, int rowNum) throws SQLException {
StudySchedule schedule=new StudySchedule();
schedule.setId(rs.getInt("id"));
schedule.setCourseName(rs.getString("course_name"));
schedule.setStudyTime(rs.getLong("study_time"));
schedule.setUserId(rs.getString("user_id"));
schedule.setCoursePage(rs.getInt("course_page"));
schedule.setCourseView(rs.getString("course_view"));
schedule.setCourseId(rs.getInt("course_id"));
//這種方式獲取的時分秒是0
// schedule.setLastStudyTime(rs.getDate("last_study_time"));
//時間正常顯示
schedule.setLastStudyTime(rs.getTimestamp("last_study_time"));
return schedule;
}
}
OK!