1、什么是JDBC?
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API, 可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。 而多的这个template,就是模板,是Spring框架为我们提供的. 所以JDBCTemplate就是Spring对JDBC的封装,通俗点说就是Spring对jdbc的封装的模板
2、JDBC的原理
通过Connection这个类获取数据库的连接, 然后通过PreparedStatement类处理SQL语句,再通过它的.setObject方法传入数据, 最后通过方法.executeUpdate()和.executeQuery()执行更新,这就是JDBC的基本原理。 JDBCTemplate帮我们省去了很多麻烦. ②指定数据库连接参数. 打开数据库连接. 预编译并执行SQL语句. 遍历查询结果(如果需要的话). 处理抛出的任何异常. 处理事务. 关闭数据库连接 那么JDBCTemplate怎么做到的,这就和spring有关系了 SpringIOC容器将管理数据库连接的数据源当作普通Java Bean一样管理, 然后将数据源注入封装类JdbcTemplate中,: JdbcTemplate的dataSource属性就是注入配置的数据源。
3、JdbcTemplate主要提供以下五类方法:
- execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;
- update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
- query方法及queryForXXX方法:用于执行查询相关语句;
- call方法:用于执行存储过程、函数相关语句。
4、事务四个特性:原子性,一致性,隔离性,持久性
事务的四大特性(ACID):
1).原子性(atomicity):一个事务必须视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。
2).一致性(consistency):数据库总数从一个一致性的状态转换到另一个一致性的状态。 3
).隔离性(isolation):一个事务所做的修改在最终提交以前,对其他事务是不可见的。
4).持久性(durability):一旦事务提交,则其所做的修改就会永久保存到数据库中。此时即使系统崩溃,修改的数据也不会丢失。
5、事务的实现
通俗来说就是:多个sql语句堆积到一起,一下子提交上去执行,全执行成功,则执行成功,若有任一处错误则事务不成功。
springboot中jdbc事务使用方式:在service层相关方法中使用注解:@Transactional