如何使用Spring ColumnMapRowMapper?
有谁能帮我举一个ColumnMapRowMapper的例子吗?如何使用它?我已经在我的博客中写了一个答案,但为了您的方便,以下是答案: SingleColumnRowMapper&Spring中的ColumnMapRowMapper示例 SpringJDBC包括两个默认的行映射器实现--SingleColumnRowMapper和ColumnMapRowMapper。下面是这些行映射器的示例用法 在很多情况下,您只想在应用程序中选择一列或只选择一组列,而为这些场景编写自定义行映射器实现似乎并不正确。在这些场景中,我们可以使用spring提供的行映射器实现 单列行映射器 此类实现了如何使用Spring ColumnMapRowMapper?,spring,Spring,有谁能帮我举一个ColumnMapRowMapper的例子吗?如何使用它?我已经在我的博客中写了一个答案,但为了您的方便,以下是答案: SingleColumnRowMapper&Spring中的ColumnMapRowMapper示例 SpringJDBC包括两个默认的行映射器实现--SingleColumnRowMapper和ColumnMapRowMapper。下面是这些行映射器的示例用法 在很多情况下,您只想在应用程序中选择一列或只选择一组列,而为这些场景编写自定义行映射器实现似乎并不正
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:既然你已经添加了博客的内容,答案就很好了。