码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-04-30 16:23:30      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

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"});
	}
});



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

标签:

原文地址:http://my.oschina.net/robocop/blog/408614

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!