关于YMP框架JDBC查询结果集自定义处理方法

final String _sql = "SELECT u.name as name, u.age, u.type, u.birth FROM ym_user u WHERE u.age > ?, u.type = ?";
// 1. 将SQL查询的结果集采用数组的形式封装
List<Object[]> _results = JDBC.openSession(new ISessionExecutor<List<Object[]>>() {
	public List<Object[]> execute(ISession session) throws OperatorException {
		return session.findAll(_sql, new ArrayResultSetHandler(), new Object[] { 18, "M"});
	}
});
// 2. 将SQL查询的结果集采用MAP的形式封装
List<Map<String, Object>> _results = JDBC.openSession(new ISessionExecutor<List<Map<String, Object>>>() {
	public List<Map<String, Object>> execute(ISession session) throws OperatorException {
		return session.findAll(_sql, new MapResultSetHandler(), new Object[] { 18, "M"});
	}
});
// 1和2的结果集遍历方法如下
ResultSetHelper _help = ResultSetHelper.bind(_results);
for (int _idx = 0; _idx < _help.getRowCount(); _idx++) {
	System.out.println(_help.getAsString("name"));
	System.out.println(_help.getAsInteger(2));
}
// 3. 自定义结果集记录处理过程
List<CustomUser> _results = JDBC.openSession(new ISessionExecutor<List<CustomUser>>() {
	public List<CustomUser> execute(ISession session) throws OperatorException {
		return session.findAll(_sql, new AbstractResultSetHandler<CustomUser>() {
			public void processRowData(ResultSet rs, List<CustomUser> result) throws OperatorException, SQLException {
				CustomUser _u = new CustomUser();
				_u.setUserName(rs.getString("name"));
				// ......
				result.add(_u);
			}
		}, new Object[]{18, "M"});
	}
});
时间: 2024-10-11 02:49:09

关于YMP框架JDBC查询结果集自定义处理方法的相关文章

完整的jdbc查询结果集编码

1 public static ArrayList<HashMap<String,Object>> query(Connection conn,String sql, Object[] paras) throws Exception { 2 PreparedStatement statement = null; 3 ResultSet ss = null; 4 String str = "";//打日志使用 5 ArrayList<HashMap<S

hibernate框架之-查询结果集返回类型

Hibernate支持HQL和SQL的查询,返回结果支持POJO类型或字段/数组的形式. 开发中用Hibernate进行数据库查询,用的是SQL.原来需要查询一个表的几乎所有字段,所以我使用了addEntity方法,将查询结果转换为映射的对象.后来需求变更,需要查询另外几个表的若干字段,不想继续用addEntity绑定新加的表(毕竟只有几个字段需要查询出来,将多余的字段都转换成映射对象,或只将需查询的字段转换为映射对象,从维护角度来说似乎都不太好),网上查了查:于是在addEntity后再使用a

Oracle循环查询结果集 自定义函数

create or replace function Fun_GetRoleIDList(d_fid char) return varchar is  rolelist varchar(2000);begin  rolelist := '';  ---定义游标 declare cursor role_cur is select a.roleid from u_roleinfo a , u_node_roles b  where  a.roleid=b.roleid and b.fid=d_fid

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 在JDBCPreparedStatement.executeQuery().getMetaData();后,我们可以通过ResultSetMetaData对象查询返回结果集的源数据信息,也就是表结构信息. 示例代码如下: package astar.sutil.db; import java.sql.Connection; import java.sql.Driv

DBeaver改进查询结果集UI和ERD视图

DBeaver 3.7.3 版本发布了.该版本主要是查询结果集UI和ERD视图的改进,还有大量问题修复. DBeaver 的详细介绍请登录勤快学基础教程qkxue.net 具体的变更列表: Result set UI was redesigned (panels)Results aggregation panel addedNavigator filters management was improvedERD attributes view is now configurable (data

CAS 实现单点登录(SSO)数据库查询认证机制-自定义编码方式(四)

通过xml配置方式实现数据库查询认证,的确简单但是不够灵活.但是如果登录验证逻辑稍微复杂些,可能通过这种配置方式就不能满足需求了,比如:当用户登录时,需要判断该用户是否绑定了邮箱,如果未绑定,拒绝登录并给出提示信息. 遇到类似的情况,就需要使用自定义登录来完成,并且给出的提示信息也需要是自定义的.  自定义登录验证(默认实现QueryDatabaseAuthenticationHandler) CAS内置了一些AuthenticationHandler实现类,如下图所示,在cas-server-

Eclipse中java获得mysql的查询结果集

不废话,先上代码,再上解释说明 1 package com.ningmeng; 2 3 import java.sql.*; 4 /** 5 * 1:获取查询结果集 6 * @author biexiansheng 7 * 8 */ 9 public class Test03 { 10 11 public static void main(String[] args) { 12 try { 13 Class.forName("com.mysql.jdbc.Driver"); 14 Sy

Linq to Sql:N层应用中的查询(上) : 返回自定义实体

原文:Linq to Sql:N层应用中的查询(上) : 返回自定义实体 如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时候,我们使用var来定义L2S查询,让IDE自动推断变量的具体类型(IQueryable<匿名类型>),并提供友好的智能提示:而且可以充分应用L2S的延迟加载特性,来进行动态查询.但如果我们希望将业务逻辑放在一个独立的层中(譬如封装在远程的WCF应用中),又希望在逻辑层应用Linq to sql,则情况就比

JDBC查询实例

作为Java与数据库交互最古老的.最基础的规范,JDBC提供了访问底层数据库的接口,其他ORM框架都是在JDBC这块基石上构建的.下面我们看一个基本的JDBC查询例子: package com.inspur.chinanet.point.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import jav