/**
* 根据SQL查询返回一个List对象 <br>
* @param Sql <br>
* @return <br>
*/
public static List getListBySQL(String Sql){
ResultSet rs = null;
PreparedStatement ps = null;
Connection conn = null;
List<Map> list = new ArrayList<Map>();
try {
conn = DBConnectionFactory.getInstance().getConnection();// 获得数据库连接
ps = conn.prepareStatement(Sql);
rs = ps.executeQuery();
if (rs == null) return Collections.EMPTY_LIST;
ResultSetMetaData rsmd = rs.getMetaData(); // 得到结果集(rs)的结构信息,比如字段数、字段名等
int columnCount = rsmd.getColumnCount(); // 返回此 ResultSet 对象中的列数
while (rs.next()){
Map<String, Object> rowData = new HashMap<String, Object>();
for (int i = 1; i <= columnCount; i++) {
rowData.put(rsmd.getColumnName(i), rs.getObject(i)); // 循环列,将列数据放入到map对象中去
}
list.add(rowData);// 循环行数,将每一行的数据添加到list对象中去
}
} catch (SQLException sqle) {
log.error("根据SQL查询出现异常",sqle);
}finally{
DBConnectionPool.freeConnection(rs, ps, conn);// 释放指定的数据库访问对象资源
}
return list;
}
/**
* 测试返回的List值
* @param sql
* @throws SQLException
* 从list中取出值
*/
public void testReturnList(String sql) throws SQLException{
List resultList = getListBySQL(sql);
Iterator it = resultList.iterator();
while(it.hasNext()) {
Map values = (Map)it.next();
System.out.println(values.get("字段名"));
}
}
分享到:
相关推荐
要将本地SQL查询的结果封装成对象,我们首先需要定义一个映射文件(.hbm.xml),在这个文件中,我们需要指定查询返回的对象类型以及字段与数据库列的对应关系。例如: ```xml <id name="id" column="id"></id> ...
该段代码首先创建了一个`QueryCmd`对象,并指定了查询的表名为"Orders",然后添加了一个条件表达式(订单ID等于10264),最后通过`ExecuteDataSet`方法执行查询并将结果存储在`DataSet`对象中。 #### 五、总结 ...
创建一个CADORecordset对象,指定SQL查询语句,然后打开记录集。 ```cpp CADORecordset recordset(&conn); recordset.m_strCommandText = _T("SELECT * FROM TableName"); recordset.Open(); ``` 现在,我们需要将...
ES 聚合查询结果转换成相应的对象集合,ES 聚合查询结果转换成相应的对象集合
- 结果集转换:`addEntity()`方法用于指定查询结果应被映射到哪个实体类,`list()`或`scroll()`方法执行查询并返回结果集,这些结果集将自动封装为对应的Java对象。 5. 示例: 假设我们有一个`User`实体类,对应...
例如,我们可以为一个实体类定义多个HQL或SQL查询,根据实际需要选择执行哪一个。 五、FREEMARKER解析 FREEMARKER是一款强大的模板引擎,常用于Web应用中的视图渲染。在Hibernate中,我们可以利用FREEMARKER生成...
在IT行业中,"查询返回Map"是一个常见的编程概念,尤其在Web开发中,涉及到服务器端数据处理和前端展示。在这个场景下,我们讨论的是如何从数据库查询数据,将结果封装成Map对象,然后通过JSP(JavaServer Pages)...
在对应的DAO接口中,定义一个方法,使用`@Param`注解将SQL字符串作为参数传递。 ```java public interface SomeDAO { List<InstanceModel> getInstanceModel(@Param("paramSQL") String sql); } ``` 3. **...
2. 对象列表:使用list()方法,当查询预期返回多行时使用。 ```java List<Note> list = query.list(); ``` 四、自定义结果转换器 默认情况下,SQLQuery的查询结果会映射为Object数组或List[]>。然而,有时我们...
2. 构建SQL查询:根据用户在WinForm界面上的选择,动态创建一个包含JOIN子句的SQL查询。比如,`SELECT * FROM Table1 JOIN Table2 ON Table1.ID = Table2.ID WHERE ...` 3. 创建参数:将用户输入转换为`SqlParameter...
这时查询将返回一个 List,每个元素都是一个 Cat 实体。 处理关联和集合类(Handling associations and collections) ------------------------------------------ 在查询时,如果实体在映射时有一个 many-to-one...
下面是一个连接SQL Server并执行查询的例子: ```csharp using System.Data.SqlClient; string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"; ...
在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者通过面向对象的方式处理数据库操作,极大地简化了数据访问层的工作。然而,尽管Hibernate提供了强大的HQL(Hibernate Query Language...
在上面的代码中,我们使用 `Session.createSQLQuery()` 方法创建了一个 `SQLQuery` 对象,然后使用 `addEntity()` 方法指定了查询结果的实体类型,最后使用 `list()` 方法执行查询并获取结果。 使用 ...
Hibernate是一个流行的Java持久化框架,它允许开发者在对象关系映射(ORM)层上操作数据库。在某些情况下,开发者可能需要使用原生SQL查询来执行特定的数据库操作,这时就可以利用Hibernate的SQLQuery功能。本文将...
1. `Session.createSQLQuery(sql)`:创建一个SQL查询对象,然后可以通过addEntity(), addScalar()等方法来指定返回结果的映射。 2. `SessionFactory.openSession().createSQLQuery(sql).list()`:执行查询并获取...
这个方法可以对 List 中的对象进行排序。我们可以使用泛型来指定排序的字段,然后使用反射机制来动态地取得方法。 例如,我们可以使用以下代码来对 UserInfo 对象的 userId 字段进行排序: Java 代码 SortList...
在Java世界中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑而不是底层数据管理。本篇文章将深入探讨Hibernate中的三种主要查询方式:HQL(Hibernate Query ...
查询优化是关系数据库领域的一个重要技术,它对提升数据库性能、加快查询速度有着直接的影响。本文将以SQL查询语句为研究对象,探讨如何通过优化查询来提高数据库系统的响应速度和整体性能。 SQL(Structured Query...