使用 Spring Data JPA 投影
如果您已经使用了一些实体和 Spring Repository,那么您可以将此代码添加到其中之一。谢谢Spring Data JPA Projections。
public interface SomeEntityRepository extends Repository<SomeEntity, Long> {
@Query(value = "SELECT field_1, field_2, field_3 FROM table", nativeQuery = true)
List<TableDto> getFromTable();
}
TableDto:
public interface TableDto{
Long getField_1();
String getField_2();
String getField_3();
}
使用 Spring JdbcTemplate
或者使用 Spring JdbcTemplate:
String query = "SELECT field_1, field_2, field_3 FROM table where id = ?";
List<TableDto> resluts = jdbcTemplate.queryForObject(
query, new Object[] { id }, new TableDtoRowMapper());
public class TableDtoRowMapper implements RowMapper<TableDto> {
@Override
public TableDtomapRow(ResultSet rs, int rowNum) throws SQLException {
TableDto dto = new TableDto();
dto.setField_1(rs.getString("field_1"));
dto.setField_2(rs.getString("field_2"));
dto.setField_3(rs.getString("field_3"));
return dto;
}
}
在此示例中,TableDto 是具有 getter 和 setter 的真实类。