@SuppressWarnings("unchecked")
public List<Object[]> getContentListByAppTitle(String username) {
username = username.trim();
List<Object[]> lists = getJpaTemplate()
.find("select SUM(royaltyPrice),c.vendorId,c.appleId from Content c where c.appTitle='"
+ username + "' group by c.appleId");
return lists;
}
这是今天在写wicket的“view report”功能的时候所写的重要代码。
这段代码起初我是用public List<Content>getContentListByAppTitle(String username) {}的方式,但是后来想了下明明就结果集就不是Content的对象,为什么要用List<Content>呢? 如果该成这样的话就可以用:select c from Content c ....; 这样就可以用。现在必须要用SUM(royaltyPrice),所以不能用了。然后想了下就只能用数组了,
所以最后改成这样了List<Object[]>了。
在control层用这个dao层的这个方法的时候返回的是List<Object>类型的。所以这样来用:
private List<Object[]> contentList;
contentList = reportService.getContentListByAppTitle(sessionUser.getUsername());
if(contentList.size()>0){
royaltyPrice = ((Double)contentList.get(0)[0]).floatValue();
vendorId = Short.parseShort(contentList.get(0)[1].toString());
appleId = Integer.parseInt(contentList.get(0)[2].toString());
}
因为我的list里面就只有一条记录,所以用了get(0)来获取这条记录,但是这条记录本身是个Object[]对象数组,所以又用到了get(0)[0]和get(0)[1]和get(0)[2],这样来获取每个记录。
分享到:
相关推荐
例如,如果你有一个JSON字符串,可以使用`readValue`方法将其转换回`List<Object>`: ```java public List<Object> jsonToList(String jsonString) { ObjectMapper mapper = new ObjectMapper(); try { return ...
同时,也涉及了List<Object>转换和list转换为JsonArray的相关知识,这些内容是Java开发中常见的数据结构转换方法,对于前端和后端数据交互尤为重要。在实际开发过程中,根据不同的需求场景选择合适的方法来实现数据...
List<T>实现了多个接口,包括IList<T>、ICollection<T>、IEnumerable<T>、IList、ICollection和IEnumerable,从而提供了丰富的功能和方法。 泛型类的优势主要体现在提高了程序的类型安全性和性能。因为List<T>是强...
List<Map<String,Object>> results = new ArrayList<Map<String,Object>>(); ResultSetMetaData rsmd = rs.getMetaData(); int colCount = rsmd.getColumnCount(); List<String> colNameList = new ArrayList...
List<T>提供了许多便利的方法,如Add、Remove、Insert、IndexOf等,便于操作和管理列表。 ### 总结 在C#中,选择合适的集合类型取决于具体的需求。Array适用于已知大小且元素类型固定的情况;ArrayList在需要动态...
`JsonConvert.DeserializeObject<T>(string json)`方法会将JSON字符串转换为指定类型的对象。在这个例子中,T是`IList<User>`。 4. 现在,`users`变量就是一个IList<User>实例,你可以像操作任何其他C#集合一样...
在FreeMarker的程序员指南中,如`FreeMarker_Manual_zh_CN.pdf`和`FreeMarker_Programmer Guide.pdf`,通常会详细介绍`<#list>`指令和其他控制结构的使用方法,包括条件判断、循环以及其他模板语法。这些文档对于...
Vector<Object> vector = new Vector<>(); ``` 在C++中,STL中的`vector`类也有类似的默认构造函数: ```cpp std::vector<int> vec; ``` 2. **指定容量初始化**: 有时我们可能知道Vector将要存储的元素数量...
List<Map<String, Object>> list = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { JSONObject obj = jsonArray.getJSONObject(i); Map<String, Object> itemMap = new HashMap<>(); for ...
List<PersonBean> personList = new ArrayList<>(); //... 填充personList Gson gson = new Gson(); String jsonString = gson.toJson(personList); ``` 在上面的代码中,`gson.toJson()`方法接收一个Java对象并将...
marshaller.marshal(new JAXBElement<>(new QName("people"), ArrayList.class, list), writer); return writer.toString(); } ``` 接下来,我们讨论如何将XML字符串转换为`Map`和`List`。这里,通常会使用`DOM`...
除了基本的`<iterate>`用法,还可以结合其他标签如`<if>`、`<choose>`、`<when>`、`<otherwise>`等进行更复杂的逻辑控制,实现动态SQL生成。 总结来说,`<iterate>`标签是iBatis中处理集合数据的重要工具,它简化了...
在本篇文章中,我们将详细探讨`List<T>`的`FindAll`方法,并通过四种不同的写法来演示如何使用这个功能来筛选满足特定条件的元素。`FindAll`方法用于在列表中找到符合指定条件的所有元素,返回一个新的`List<T>`实例...
在上面的代码中,我们使用了Collectors.toMap()方法来将List转换为Map,key是empId,值是empName。 如果我们想要整个员工对象作为Map的值,我们可以使用以下代码: Map<Integer, Employee> mapOfEmployees = ...
2. **创建服务接口**:定义一个服务接口,声明接受List<Map<String, String>>参数的方法。 3. **实现服务逻辑**:实现接口,处理接收到的数据并返回响应。 4. **配置CXF**:在Spring配置文件中,配置CXF端点,指定...
List<String> addedItems = new ArrayList<>(list2); addedItems.removeAll(list1); ``` `addedItems`现在包含了`list2`中新添加的元素。 2. **编辑集合**: 编辑集合通常涉及元素的修改。在两个List中找到...
List<Student> list = new ArrayList<>(); // 添加元素到list Set<Student> set = new HashSet<>(list); list.clear(); list.addAll(set); ``` 3. 使用Java 8的Stream API去重 Java 8中引入了Stream API,可以使用...
List<Map<String, String>> userList = new ArrayList<>(); for (Map<String, String> user : userList) { String userName = user.get("name"); String userEmail = user.get("email"); // 处理每个用户的姓名和...
List<T> dataList = new ArrayList<>(); while (rs.next()) { T data = ...; // 反射或者使用ORM框架如MyBatis获取数据对象 dataList.add(data); } // 计算总记录数 Statement countStmt = conn....