简介

JdbcTemplate 是 Spring 对 JDBC 的封装,目的是使 JDBC 更加易于使用。JdbcTemplate 是 Spring 的一部分。JdbcTemplate 处理了资源的建立和释放。他帮助我们避免一些常见的错误,比如忘了总要关闭连接。

在 JdbcTemplate 中执行 SQL 语句的方法大致分为3类:

  1. execute:可以执行所有SQL语句,没有返回值,一般用于执行DDL语句。
  2. update:返回影响的行数,用于执行INSERTUPDATEDELETE等DML语句。
  3. queryXxx:用于SELECT等DQL数据查询语句。

常用方法

public void execute(final String sql);
public int update(final String sql);
public int queryForInt(String sql);
public long queryForLong(String sql);
public <T> T queryForObject(String sql, Class<T> requiredType);
public Map<String, Object> queryForMap(String sql);
public List<Map<String, Object>> queryForList(String sql);
public <T> List<T> query(String sql, RowMapper<T> rowMapper);
public class BeanPropertyRowMapper<T> implements RowMapper<T>;

使用示例

jdbcTemplate.execute("CREATE TABLE product...;");
public int update("INSERT INTO product VALUES (NULL, ?, ?);", "iPhoneX", 8888);
public int queryForInt("SELECT id FROM product WHERE price=8888;");
public long queryForLong("SELECT COUNT(*) FROM product;");
public String queryForObject("SELECT pname FROM product WHERE price=7777;", String.class);
public Map<String, Object> queryForMap("SELECT * FROM product WHERE id=?;", 6);
public List<Map<String, Object>> queryForList("SELECT * FROM product WHERE pid<?;", 8);
public List<Product> query("SELECT * FROM product;", new RowMapper<Product>() {...});
public List<Product> query("SELECT * FROM product;", new BeanPropertyRowMapper<>(Product.class));

参考:https://blog.csdn.net/weixin_40001125/article/details/88538576

JdbcTemplate 基本使用的更多相关文章

  1. JdbcTemplate+PageImpl实现多表分页查询

    一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...

  2. Spring JdbcTemplate

    参考链接: https://my.oschina.net/u/437232/blog/279530 http://jinnianshilongnian.iteye.com/blog/1423897 J ...

  3. jdbcTemplate批量插入(添加)

    public void addSubscibe(List<PermedipUserSubscribeVo> list) { final List<PermedipUserSubscr ...

  4. 【Java EE 学习 52】【Spring学习第四天】【Spring与JDBC】【JdbcTemplate创建的三种方式】【Spring事务管理】【事务中使用dbutils则回滚失败!!!??】

    一.JDBC编程特点 静态代码+动态变量=JDBC编程. 静态代码:比如所有的数据库连接池 都实现了DataSource接口,都实现了Connection接口. 动态变量:用户名.密码.连接的数据库. ...

  5. Spring MVC篇二、使用JdbcTemplate进行数据库操作

    上一篇只是一个简单的Spring MVC框架,接下来添加一些跟数据库的交互. 一.添加jdbc相关配置   在maven中添加相关依赖后,配置数据库访问参数及数据源.数据库参数使用配置文件,代码如下: ...

  6. 使用Spring JdbcTemplate实现数据库操作

    今天我来演示 关于JDBCTemplate实现对数据库的查询和添加 首先是添加 第一步大家都知道 创建一个实体类 然后写一个方法 把实体类当参数传进去 在实现这个接口 JdbcDaoSupport这个 ...

  7. JdbcTemplate进行查询

    1.jdbcTemplate.queryForInt() 和 jdbcTemplate.queryForLong() 例如:下面使用queryForInt()方法传回user表中的记录数: jdbcT ...

  8. jdbcTemplate之jdbc模板技术

    1:为什么要使用jdbcTemplate? 在实际开发中使用jdbc技术太过复杂,为了减少代码冗余,操作简单 步骤一:创建实体类 package beans; public class Book { ...

  9. Spring JdbcTemplate 方法详解

    JdbcTemplate主要提供以下五类方法: execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句: update方法及batchUpdate方法:update方法用于执行新增.修 ...

  10. Spring中的JdbcTemplate使用

    1.引出SpringJDBC的概念 在学习JDBC编程时我们会感觉到JDBC的操作是多么繁琐,那么当我们学习的Hibernate框架时,我们感觉到数据库的操作也变非常简单,提高了开发效率.但是当使用H ...

随机推荐

  1. swagger文档

    关键配置文件 spring boot demo pom.xml <?xml version="1.0" encoding="UTF-8"?> < ...

  2. Spring支持5种类型的增强

    Spring支持5种类型的增强:1.前置增强:org.springframework.aop.BeforeAdvice代表前置增强,因为Spring只支持方法级的增强,所以MethodBeforeAd ...

  3. springboot-devtools实现项目的自动重启

    热部署的引入依赖: <!-- 热部署 --> <dependency> <groupId>org.springframework.boot</groupId& ...

  4. java中二维数组初始化的几种方法

    /* 第一种方式 */ int tdarr1[][] = { { 1, 3, 5 }, { 5, 9, 10 } }; /* 第二种方式 */ int tdarr2[][] = new int[][] ...

  5. Python enumerate():使用计数器简化循环

    摘要:当您需要计数和迭代中的值时,Pythonenumerate()允许您编写 Pythonicfor循环.最大的优点enumerate()是它返回一个带有计数器和值的元组,因此您不必自己增加计数器. ...

  6. 前端避坑指南丨辛辛苦苦开发的 APP 竟然被判定为简单网页打包?

    传统混合移动App开发模式,通常会使用WebView作为桥接层,但随着iOS和Android应用商店审核政策日趋严格,有时会被错误判定为简单网页打包成App,上架容易遭到拒绝. 既然可能存在风险,那我 ...

  7. 20个ios登陆界面

    原文:http://favbulous.com/post/1001/24-unique-ios-login-screen-showcase Eeve Evernote Food Recood Hips ...

  8. 任务日历关联(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 有时候吧,一件大事是由N件小事组成的,而这N件小事当中,不是每件事都可以在周末停下来的,当然也不是所有的事都必须在周末完成 ...

  9. CF108A Palindromic Times 题解

    Content 现在是 \(h\) 时 \(m\) 分,请求出在此之后(不包含此时)的第一个回文时间. 数据范围:\(0\leqslant h\leqslant 23,0\leqslant m\leq ...

  10. mysql 字符串转日期及其他日期转换

    -- 字符串转日期 select str_to_date('2019/1/1', '%Y/%m/%d') -- 2019-01-01 SELECT STR_TO_DATE(concat(Cyear,' ...