如何使用Spring ColumnMapRowMapper?

如何使用Spring ColumnMapRowMapper?,spring,Spring,有谁能帮我举一个ColumnMapRowMapper的例子吗?如何使用它?我已经在我的博客中写了一个答案,但为了您的方便,以下是答案: SingleColumnRowMapper&Spring中的ColumnMapRowMapper示例 SpringJDBC包括两个默认的行映射器实现--SingleColumnRowMapper和ColumnMapRowMapper。下面是这些行映射器的示例用法 在很多情况下,您只想在应用程序中选择一列或只选择一组列,而为这些场景编写自定义行映射器实现似乎并不正

有谁能帮我举一个ColumnMapRowMapper的例子吗?如何使用它?

我已经在我的博客中写了一个答案,但为了您的方便,以下是答案:

SingleColumnRowMapper&Spring中的ColumnMapRowMapper示例 SpringJDBC包括两个默认的行映射器实现--SingleColumnRowMapper和ColumnMapRowMapper。下面是这些行映射器的示例用法

在很多情况下,您只想在应用程序中选择一列或只选择一组列,而为这些场景编写自定义行映射器实现似乎并不正确。在这些场景中,我们可以使用spring提供的行映射器实现

单列行映射器 此类实现了
RowMapper
接口。顾名思义,这个类可以用来从数据库中以
java.util.List
的形式检索单个值。该列表包含每行一个列值

在下面的代码段中,每行的结果值类型由构造函数参数指定。还可以通过调用
setRequiredType(类requiredType)
方法来指定它

public List getFirstName(int userID)
{ 
  String sql = "select firstname from users where user_id = " + userID; 

  SingleColumnRowMapper rowMapper = new SingleColumnRowMapper(String.class); 
  List firstNameList = (List) getJdbcTemplate().query(sql, rowMapper); 

  for(String firstName: firstNameList) 
    System.out.println(firstName); 

  return firstNameList; 
} 
关于这个类及其方法的更多信息可以在下面的SpringJavadoc链接中找到。

列映射程序 ColumnMapRowMapper类可用于从数据库表检索多个列。此类还实现了
行映射器
接口。此类为每行创建一个
java.util.Map
,将所有列表示为键值对:每列一个条目,列名为键

public List<Map<String, Object>> getUserData(int userID)
{

  String sql = "select firstname, lastname, dept from users where userID = ? ";

  ColumnMapRowMapper rowMapper = new ColumnMapRowMapper();
  List<Map<String, Object>> userDataList =  getJdbcTemplate().query(sql, rowMapper, userID);

  for(Map<String, Object> map: userDataList){

      System.out.println("FirstName = " + map.get("firstname"));
      System.out.println("LastName = " + map.get("lastname"));
      System.out.println("Department = " + map.get("dept"));

  }

  return userDataList;

}
public List getUserData(int userID)
{
String sql=“从userID=?”的用户中选择firstname、lastname、dept”;
ColumnMapRowMapper rowMapper=新建ColumnMapRowMapper();
List userDataList=getJdbcTemplate();
用于(映射:userDataList){
System.out.println(“FirstName=”+map.get(“FirstName”);
System.out.println(“LastName=“+map.get(“LastName”);
System.out.println(“Department=“+map.get(“dept”));
}
返回userDataList;
}
关于这个类及其方法的更多信息可以在下面的SpringJavadoc链接中找到。

只链接答案,特别是链接到您自己的博客的答案,是不受欢迎的。@siride Selvam可能被更高级别的代表用户误导了,因为他们做了类似的事情而没有受到批评。@AndrewC:我在评论队列中看到了Selvam的答案,但没有看到另一个。我不同意这两个答案。“我想说清楚,我无意表现出任何偏袒。”siride啊,这是有道理的。(你想添加一个更好的答案吗?@AndrewC:既然你已经添加了博客的内容,答案就很好了。