`
xushaoxun
  • 浏览: 53534 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

jdbcTemplate 的query方法

SQL 
阅读更多

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>

分享到:
评论

相关推荐

    spring JdbcTemplate query方法使用示例

    spring JdbcTemplate query方法使用示例,欢迎下载借鉴

    Spring JdbcTemplate 常用方法整理

    本文将深入探讨Spring JdbcTemplate的常用方法,并结合提供的`JsonBean.java`和`JdbcUtils.java`文件,来理解其在实际应用中的使用。 首先,JdbcTemplate的核心功能在于它提供了一系列的方法来执行SQL语句,包括...

    Spring框架JdbcTemplate类中查询方法介绍

    JdbcTemplate 类主要提供四类方法:execute 方法、update 方法及 batchUpdate 方法、query 方法及 queryForXXX 方法、call 方法。 一、 execute 方法 execute 方法用于执行任何 SQL 语句,一般用于执行 DDL 语句。...

    spring自带的jdbcTemplate查询、插入预编译使用

    在使用`jdbcTemplate`进行预编译查询时,我们通常会使用`query()`或`queryForList()`方法。例如: ```java String sql = "SELECT * FROM table WHERE id = ?"; Object[] params = {1}; List&lt;MyObject&gt; result = ...

    打印JdbcTemplate执行sql

    通过使用模板方法设计模式,`JdbcTemplate`提供了一系列静态和非静态的方法来执行各种SQL操作,如查询、更新、插入和删除。 为了打印`JdbcTemplate`执行的SQL语句,我们需要关注以下几点: 1. **日志配置**:首先...

    Spring--JdbcTemplate.pdf

    - 查询返回对象:通过query方法结合RowMapper接口来实现,RowMapper负责将结果集中的数据封装到实体对象中。 - 查询返回集合:使用query方法,传入SQL语句和RowMapper实例。 对于批量操作,JdbcTemplate提供了...

    spring-jdbcTemplate实例工程

    - **执行SQL**:调用JdbcTemplate的execute()方法执行SQL,对于查询操作,可以使用query()方法,传入SQL、RowMapper或者ResultSetExtractor。 - **参数化查询**:使用问号?作为占位符,通过addBatch()添加参数,...

    JdbcTemplate示例

    `JdbcTemplate`提供了`query()`方法来执行SQL SELECT语句,并将结果映射到对象。例如,如果我们有一个User类,可以这样获取用户信息: ```java String selectSql = "SELECT * FROM users WHERE username = ?"; List...

    jdbcTemplate集锦很好的推荐

    通过`jdbcTemplate.query()`方法执行SQL查询,并使用`ItemMapper`来映射结果集到`Item`对象。如果查询结果为空,则返回`null`。 - **应用场景**:适用于根据ID获取单个实体的情况,如用户登录验证、获取某个商品...

    jdbcTemplate

    4. **调用JdbcTemplate方法**:在业务代码中,通过`JdbcTemplate`提供的方法执行SQL,例如`update`、`insert`、`delete`和`query`。 5. **处理结果**:对于查询操作,可以指定结果集的映射方式,如使用RowMapper或...

    SpringJdbcTemplate封装工具类

    - 调用对应的方法,如`update()`执行更新操作,`queryForObject()`或`query()`执行查询操作,传入SQL语句和参数。 - 如果是查询操作,可以使用`RowMapper`或`ResultSetExtractor`来映射结果到Java对象。 8. **...

    JdbcTemplate

    可以使用`JdbcTemplate`的`executeWithinTransaction`方法来包裹一个数据库操作,以确保原子性和一致性。例如: ```java jdbcTemplate.executeWithinTransaction(new TransactionCallbackWithoutResult() { @...

    JavaEE JdbcTemplate的简单示例

    在上述代码中,我们定义了一个UserRepository类,其中的`addUser`方法使用JdbcTemplate的`update`方法执行SQL插入语句。`@Autowired`注解使得Spring能够自动将配置的JdbcTemplate注入到Repository中。 同样,我们也...

    spring的jdbctemplate的crud的基类dao

    在`BaseDaoImpl` 类中,`find` 方法的实现使用了`JdbcTemplate`的`query`方法。这个方法可以接受SQL语句、参数数组和一个RowMapper,用于将数据库行映射为Java对象。在这里,使用了`BeanPropertyRowMapper`,它会...

    spring jdbcTemplate

    List&lt;Book&gt; books = jdbcTemplate.query( "SELECT * FROM book", new RowMapper() { @Override public Book mapRow(ResultSet rs, int rowNum) throws SQLException { Book book = new Book(); book.setId(rs....

    spring mvc注解jdbctemplate

    然后,我们定义了一个处理GET请求的方法`queryData()`,其中使用了JdbcTemplate的`queryForList()`方法执行SQL查询并返回结果。 JdbcTemplate提供了一系列的便捷方法,如`update()`, `queryForObject()`, `...

    jdbcTemplate使用方法实例解析

    * query方法及queryForXXX方法:用于执行查询相关语句。 五、JdbcTemplate的示例代码 以下是JdbcTemplate的一些示例代码: ```java // 1. 查询一行数据并返回int型结果 jdbcTemplate.queryForInt("select count(*...

    Spring JdbcTemplate api

    使用`JdbcTemplate`读取数据时,可以通过`query`方法结合`RowCallbackHandler`或自定义的`RowMapper`来处理结果集。`RowMapper`接口用于将结果集中的每一行映射为一个对象,通过`JdbcTemplate.query(sql, params, ...

    jdbcTemplate相关jar包.zip

    3. 编写SQL:你可以直接编写SQL语句,或者使用PreparedStatement,JdbcTemplate提供了相应的模板方法。 4. 调用JdbcTemplate的方法:例如queryForList()用于查询多条记录,update()用于执行更新操作。 5. 处理结果:...

    spring jdbcTemplate 源码

    4. 调用JdbcTemplate提供的方法,如`update()`执行DML语句,`query()`执行查询,`queryForList()`获取列表,`queryForObject()`获取单个对象等。 5. 使用占位符(问号)或命名参数进行SQL动态绑定,避免SQL注入。 ...

Global site tag (gtag.js) - Google Analytics