所以基本上为@dunni说,你可以使用一些JdbcTemplate的,之后写自己的映射到SQL结果转换为Java对象,例如:
public CustomResult getCustomResult(){
final String complexSql = "SELECT SUM(distance) as distanceSum....";
final CustomResult customResult = (CustomResult) jdbcTemplate.queryForObject(complexSql, new CustomResultRowMapper());
return customResult;
}
public class CustomResultRowMapper implements RowMapper {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
CustomResult customResult = new CustomResult();
customResult.setDistanceSum(rs.getInt("distanceSum"));
...
return customResult;
}
}
此外,在春季启动时,您不需要做只需将jdbcTemplate添加到您的Dao类中即可:
@Autowired
private JdbcTemplate jdbcTemplate;
这就是JdbcTemplate的用途。它有执行原生SQL语句的方法。 – dunni