spring - 如何使用Spring ColumnMapRowMapper?

标签 spring

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

最佳答案

我在我的博客中写了一个答案,http://selvam2day.blogspot.com/2013/06/singlecolumnrowmapper.html ,但为了您的方便,下面是:

Spring 中的 SingleColumnRowMapper 和 ColumnMapRowMapper 示例

Spring JDBC 包含两个默认的 RowMapper 实现 - SingleColumnRowMapper 和 ColumnMapRowMapper。以下是这些行映射器的示例用法。

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

单列行映射器

此类实现 RowMapper界面。顾名思义,此类可用于从数据库中检索单个值,如java.util.List。 。该列表包含每行一个列值。

在下面的代码片段中,每行的结果值的类型由构造函数参数指定。也可以通过调用setRequiredType(Class<T> 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; 
} 

有关该类及其方法的更多信息可以在下面的 spring javadoc 链接中找到。
http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/SingleColumnRowMapper.html

ColumnMapRowMapper

ColumnMapRowMapper 类可用于从数据库表中检索多列。该类还实现了RowMapper界面。这个类创建了一个 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;

}

有关该类及其方法的更多信息可以在下面的 spring javadoc 链接中找到。
http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/ColumnMapRowMapper.html

关于spring - 如何使用Spring ColumnMapRowMapper?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7933336/

相关文章:

java - 使用 Pageable 排序时重复

java - spring mvc从xml文件读取配置

java - 在 Spring MVC 中通过配置验证格式参数

java - 在 Spring 中与 PathVariable 一起使用时 CSS 未加载

java - 如何使用 SockJs 通过 STOMP Java 客户端验证 Spring 非 Web Websocket?

java - 我需要 XA 交易吗? DefaultMessageListenerContainer 本地事务与 XA 连接工厂

spring - 在 Spring 的 application.properties 中指定相对路径

Spring 无法在侧面注入(inject)

java - 连接池 C3P0 日志记录

java - 创建数据库脚本mySQL