jdbcTemplate 的query方法

jdbcTemplate.query(????)<o:p></o:p>

<o:p></o:p>

主要是一些callback interface 的用法<o:p></o:p>

<o:p></o:p>

PreparedStatement处理<o:p></o:p>

1. PreparedStatementCreator<o:p></o:p>

PreparedStatement createPreparedStatement(Connection con) <o:p></o:p>

用途: 准备好PreparedStatement<o:p></o:p>

ps=con.preparedStatement(sql);<o:p></o:p>

ps.setXXX();<o:p></o:p>

return ps;<o:p></o:p>

<o:p></o:p>

2. PreparedStatementSetter<o:p></o:p>

void setValues(PreparedStatement ps)<o:p></o:p>

用途: 设置ps参数.<o:p></o:p>

<o:p></o:p>

<o:p></o:p>

ResultSet 处理<o:p></o:p>

1. ResultSetExtractor<o:p></o:p>

Object extractData(ResultSet rs) <o:p></o:p>

处理整个结果集, 返回任意Object<o:p></o:p>

<o:p></o:p>

rs.absolute(x);<o:p></o:p>

while(rs.next())..

注意,需要手工移动ResultSet

<o:p></o:p>

<o:p></o:p>

2. RowCallbackHandler<o:p></o:p>

void processRow(ResultSet rs) <o:p></o:p>

用途: 处理一行数据. 不能rs.next().<o:p></o:p>

<o:p></o:p>

3. RowMapper<o:p></o:p>

Object mapRow(ResultSet rs, int rowNum) <o:p></o:p>

只处理当前行数据, 将当前条数据map到某entity, rowNum为当前行号, 0开始.<o:p></o:p>

<o:p></o:p>

<o:p></o:p>

<o:p></o:p>

jdbcTemplate.queryForInt(???) jdbcTemplate.queryForLong(???)<o:p></o:p>

<o:p></o:p>

一般是用来count(),返回单行单列int , long。

<o:p></o:p>

<o:p></o:p>

jdbcTemplate.queryForList(???)<o:p></o:p>

返回 a List of Maps, using column name as key.<o:p></o:p>

[{id=1, name=aaa.com}, {id=2, name=bbb.com,}]<o:p></o:p>

<o:p></o:p>

<o:p></o:p>

jdbcTemplate.queryForMap(???)<o:p></o:p>

queryForList(), 差不多,只是预期查询一行数据。返回 a Map, using column name as key.<o:p></o:p>

The query is expected to be a single row query

<o:p></o:p>

<o:p></o:p>

jdbcTemplate.queryForObject(???)

本质上和queryForInt(),相同。返回都是单行单列一个数据。

The query is expected to be a single row/single column query; the returned result will be directly mapped to the corresponding object type.

<o:p></o:p>

<o:p></o:p>

jdbcTemplate.queryForRowSet(???)<o:p></o:p>

返回RowSet, representing disconnected java.sql.ResultSet<o:p></o:p>

<o:p></o:p>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值