我想你把它搞糊涂了。最好的方法确实是 Steffen Kreutz 所建议的。考虑以下示例:
数据库中的用户表有以下字段:
1. UserID -> Type: Int
2. User_Name -> Type: Varchar
3. User_Contact -> Type: Varchar
...
现在,您可以简单地编写一个 RowMapper 将所有这些字段映射到您的自定义 POJO 对象,如下所示:
POJO 类:
public class User{
private int userId;
private String userName;
private String userContact;
public int getUserId() {
return this.userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
/* Other Getter-Setter(s) */
}
查询字符串:
private static final String SELECT_QUERY = "SELECT * FROM user WHERE id = ?";
JdbcTemplate 调用:
在这里,您将 userId 传递给 ?。 JdbcTemplate 会自动处理它。
List<User> = (List<User>) jdbcTemplate.query(SELECT_QUERY, new Object[] { userId }, new UserRowMapper());
最后是 UserRowMapper 类:
class UserRowMapper implements RowMapper {
@Override
public Object mapRow(ResultSet resultSet, int row) throws SQLException {
User user = new User();
user.setUserId(resultSet.getInt("UserID"));
user.setUserName(resultSet.getString("User_Name"));
user.setUserContact(resultSet.getString("User_Contact"));
return user;
}
}
这确实是使用 JdbcTemplate 的最佳和推荐方式。