Я сделал два метода испытаний.Один использует JdbcTemplate для создания запроса, в то время как другой использует NamedParameterJDBCTemplate.
Использование NamedParameterJdbcTemplate:
@Autowired
JdbcTemplate jdbcTemplate;
public Student findById(long id) {
NamedParameterJdbcTemplate apptemplate = new NamedParameterJdbcTemplate(jdbcTemplate.getDataSource());
return apptemplate.queryForObject("select * from student where id="+id, Collections.emptyMap(),
new BeanPropertyRowMapper< Student >(Student.class));
}
Использование JdbcTemplate
@Autowired
JdbcTemplate jdbcTemplate;
public Student findById(long id) {
return jdbcTemplate.queryForObject("select * from student where id=?", new Object[] {
id
},
new BeanPropertyRowMapper< Student >(Student.class));
}
Я использую указатель ниже для перехвата:
Для JdbcTemplate:
@Pointcut("execution(* org.springframework.jdbc.core.JdbcOperations+.*(..))")
public void forJdbcTemplate() {
}
Для NamedParameterJdbcTemplate:
@Pointcut("execution(* org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations+.*(..))")
public void forNamedParameterJdbcTemplate() {
}
Почему мой pointcut для JdbcTemplate работает, но pointcut для NamedParameterJdbcTemplate не работает?