java - 返回一个列表,我已经有一个rowmapper实现

标签 java spring generics jdbctemplate

在我的 UserDao 中,我想返回一个用户列表。

我已经有一个 UserRowMapperimplements RowMapper<User> .

我该怎么做?

我试过了:

List rows = getJdbcTemplate().queryforList("select * from users");

for(Map row : rows) {

}

但不确定如何使用我的 UserRowMapper 填充用户对象并将其插入我的用户列表中。

顺便说一句,这是我应该使用的最佳通用列表吗:

List<User> users = new ArrayList<User>();

?

最佳答案

使用 JdbcTemplate.query(String sql, RowMapper<T> rowMapper, Object... args) ,您可以为 ? 传入可变数量的值占位符作为最后一个参数:

public List<User> findById(int userId)
{
    return getJdbcTemplate().query(
            "SELECT * FROM users WHERE user_id=?",
            new UserRowMapper(),
            userId
        );
}

或者类似的东西:

public List<User> findByManyParams(int param1, int param2, String param3)
{
    return getJdbcTemplate().query(
            "SELECT * FROM users WHERE foo=? AND bar=? AND foobar=?",
            new UserRowMapper(),
            param1,
            param2,
            param3
        );
}

query()方法实际上多次重载,因此您通常可以找到至少一种适用于任何给定情况的风格。

关于java - 返回一个列表,我已经有一个rowmapper实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8966821/

相关文章:

java - Spring AOP 事务管理和 Hibernate : undesired commits to database

c# - Linq to SQL 中的 DAO 工厂

generics - Kotlin:泛型、反射以及类型 T 和 T:Any 之间的区别

Java BeautyEye 外观和感觉是空的 JMenuBar 项目

Java 扩展不更新

java - Struts2+ Spring : Request Paremeters dont get reset in Action objects?

java - 如何在 Java 的标准类中设置通用对象?

java - 如何管理字符串数组中连续变化的值

java - 错误 :Execution failed for task ':app:processDebugResources' . > java.io.IOException:无法在 android studio 中删除文件夹 ""

java - 在 Spring Boot 中排除 BootstrapConfiguration 类进行测试