如何在不指定列名的情况下使用 jdbcTemplate 更新整个对象?

Raj*_*mar 5 java mysql spring spring-jdbc

我正在看这里的参考。我们可以完成这个 -

String orderSql = "select * from order where id = ?"; jdbcTemplate.query(orderSql, new BeanPropertyRowMapper<>(Order.class), orderId);

这从数据库中读取并可以直接反序列化为Order对象。这很好。

我想做的是——

String updateSql = "update order ? where id = ?"; jdbcTemplate.save(updateSql, new BeanPropertyRowMapper<>(Order.class), order, orderId);

有没有办法做到这一点?

moh*_*han 1

不,这是不可能的。JdbcTemplate正如您所说,能够使用映射对象而query无需定义列/属性,但是update. 您必须传入 SQL 和相关参数。正如有人提到的,如果你真的想这样做,你可以考虑使用休眠。