jdbcTemplate占位符只能使用问号吗?

我想这样

select * from test where id=:id

其中:id是占位符,我后面设置就好了

阅读 4.6k
2 个回答

org.springframework.jdbc.core.JdbcTemplate 不可以,但org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate这个可以,用法和JDBCTemplate类似:

SqlParameterSource namedParameters = new MapSqlParameterSource().addValue("id", 1);
return namedParameterJdbcTemplate.queryForObject(
  "SELECT FIRST_NAME FROM EMPLOYEE WHERE ID = :id", namedParameters, String.class);

//..........

Employee employee = new Employee();
employee.setFirstName("James");

String SELECT_BY_ID = "SELECT COUNT(*) FROM EMPLOYEE WHERE FIRST_NAME = :firstName";

SqlParameterSource namedParameters = new BeanPropertySqlParameterSource(employee);
return namedParameterJdbcTemplate.queryForObject(
  SELECT_BY_ID, namedParameters, Integer.class);

可以这样写啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题