为了进行简单的登录访问检查,我将jdbcTemplate与以下DAO方法结合使用:-
@Autowired
JdbcTemplate jdbcTemplate;
public List<User> hasaccess (String user,String pass) {
return jdbcTemplate.query(new PreparedStatementCreator() {
@Override
public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
PreparedStatement ps = connection.prepareStatement("SELECT * FROM SHB_USERS WHERE USER=? AND PASS=?");
ps.setString(1,user);
ps.setString(2,pass);
return ps;
}
},new RowMapper<User>() {
@Override
public User mapRow(ResultSet resultSet,int rownum) throws SQLException {
String user = resultSet.getString("USER");
String pass = resultSet.getString("PASS");
User userObj = new User(user,pass);
System.out.println(userObj.toString());
return userObj;
}
});
}
但是以某种方式未调用mapRow
。当我使用直接字符串而不是PreparedStatement
例如select * from shb_users where rownum <2
时,它可以工作。
我是Spring Boot的新手,无法找出错误。