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

final String _sql = "SELECT u.name as name, u.age, u.type, u.birth FROM ym_user u WHERE u.age > ? AND 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"});
	}
});



转载于:https://my.oschina.net/robocop/blog/408614

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值