JAVA中的JdbcTemplate详解

JDBCTemplate是Spring为我们提供的,一组访问访问数据库的类库,Spring对JDBC的封装,通俗点说就是Spring对jdbc的封装的模板

Jdbctemplate中含有下面四个方法:

query、queryForObject、queryForList、queryForMap

【query方法】

返回结果是list,且list中元素必须是自定义bean;不能是list<String>

【queryForObject】
查询出一条记录并封装到一个对象中。
可以返回的是String、Integer、Double或者自定义bean。
但是如果查询的记录为0条或者大于1条,会抛出异常。

【queryForList】
这个方法返回一个list,这个方法比较特殊,可以返回List<String> ,还可以返回list<Map<String,Objec>>

如果sql是select * fromtabName;这时返回list<map>
如果sql是select name from tabName;或者select max(score) from tabName;则返回就是list<基本类型>

【queryForMap】查询一行数据封装到Map中。如果查询多行记录抛出异常

【总结】

  1. 查询一行数据并返回int型结果
    jdbcTemplate.queryForInt("select count(*) from test");

  2. 查询一行数据并将该行数据转换为Map返回
    jdbcTemplate.queryForMap("select * from test where name='name5'");

  3. 查询一行任何类型的数据,最后一个参数指定返回结果类型
    jdbcTemplate.queryForObject("select count(*) from test", Integer.class);

  4. 查询一批数据,默认将每行数据转换为Map
    jdbcTemplate.queryForList("select * from test");

  5. 只查询一列数据列表,列类型是String类型,列名字是name
    jdbcTemplate.queryForList("select name from test where name=?", new Object[]{"name5"}, String.class);

  6. 查询一批数据,返回为SqlRowSet,类似于ResultSet,但不再绑定到连接上
    SqlRowSet rs = jdbcTemplate.queryForRowSet("select * from test");


JAVA中的JdbcTemplate详解
http://anximin.github.io/2021/09/17/JAVA_jdbc_template/
作者
Sylar
发布于
2021年9月17日
许可协议