我觉得你有些混淆了。最好的方法确实是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;
}
}
查询字符串:
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的最佳推荐方式。