当通过springJdbcTemplate从db中获取结果时,我发现每次都在传递RowMapper的新对象。 这是必需的吗?或者我们可以只使用一个对象并一次又一次地传递它。我们可以使用一个RowMapper对象来获取结果,而不是每次都创建对象吗?
Student student = jdbcTemplateObject.queryForObject(SQL, new Object[] { id }, new StudentRowMapper());
我知道这个对象稍后会被垃圾收集,但我不想一次又一次地创建同一个对象。
我可以使用
Student student = jdbcTemplateObject.queryForObject(SQL, new Object[] { id }, this.studentMapper);
?
是否存在此线程安全问题?
当然可以,这是正确的方式,而不是创造新的每次迭代的每一次。 – eg04lt3r
*这是否存在线程安全问题?*这一切都取决于StudentRowMapper的代码。请注意,这是一个微不足道的过早优化。创建Java对象比执行SQL查询要快几个数量级。 –