Alv*_*vin 1 java jdbctemplate lombok
POJO 与Lombak:
@NoArgsConstructor
@AllArgsConstructor
@Getter @Setter
public class Order {
private int Id;
private int OrderId;
private String Status;
}
Run Code Online (Sandbox Code Playgroud)
使用JdbcTemplateI 选择记录:
String sql = "SELECT Id, OrderId, Stataus" +
"ORDER BY t.Sort";
return jdbcTemplate.query(sql, new Object[]{IDU}, new BeanPropertyRowMapper<>(Order .class));
Run Code Online (Sandbox Code Playgroud)
由于某些 OrderId 是null,我收到此错误:
Failed to convert property value of type 'null' to required type 'int' for property 'OrderId';
Run Code Online (Sandbox Code Playgroud)
我可以在不使用 的情况下解决这个问题custom mapper吗?
int是 Java 中的原语,但它不可能是null。
无法BeanPropertyRowMapper转换null为int,因此引发异常。
要解决此问题,您可以:
int字段更改为Integer并获取nullsetPrimitivesDefaultedForNullValue到true在BeanPropertyRowMapper但请记住
如果您使用生成的 bean 中的值来更新数据库,则原始值将被设置为原始值的默认值而不是
null.
| 归档时间: |
|
| 查看次数: |
4907 次 |
| 最近记录: |