天天看点

Spring JDBC与事务管理1:Spring JDBC一:Spring JDBC简介;零:【Spring JDBC与事务管理】部分,内容介绍一:Spring JDBC简介 二:已经有【Mybatis】了,为什么还需要【Spring JDBC】?三:Spring JDBC使用步骤

说明:

(1)本篇博客是介绍Spring JDBC的基本内容,不涉及具体的编码实现; 

(2)JDBC是java程序访问数据库的标准。那么,Spring生态体系,自然也对JDBC进行了支持和封装。

(3)开始了解【Spring JDBC与事务管理】之前,可以快速浏览下【MySQL基础】和【JDBC入门】中的内容;

目录

零:【Spring JDBC与事务管理】部分,内容介绍

一:Spring JDBC简介 

二:已经有【Mybatis】了,为什么还需要【Spring JDBC】?

三:Spring JDBC使用步骤

零:【Spring JDBC与事务管理】部分,内容介绍

Spring JDBC与事务管理1:Spring JDBC一:Spring JDBC简介;零:【Spring JDBC与事务管理】部分,内容介绍一:Spring JDBC简介 二:已经有【Mybatis】了,为什么还需要【Spring JDBC】?三:Spring JDBC使用步骤

一:Spring JDBC简介 

Spring JDBC与事务管理1:Spring JDBC一:Spring JDBC简介;零:【Spring JDBC与事务管理】部分,内容介绍一:Spring JDBC简介 二:已经有【Mybatis】了,为什么还需要【Spring JDBC】?三:Spring JDBC使用步骤

(1)原生的JDBC操作起来比较麻烦,比如必须使用繁琐的语句完成查询,必须要时刻留意是否关闭了数据库连接等;Spring公司,就在其Spring框架中,添加了【Spring JDBC】模块,来解决这个问题;

(2.1)【Spring JDBC】的作用,有点像【Apache Commons DBUtils】,只是一个是由Spring机构开发的,一个是由Apache机构开发的;

(2.2)由于Spring框架底层是基于IoC容器的,所以【Spring JDBC】基于IoC容器,还可以实现更多的扩展行为;这是【Apache Commons DBUtils】所不具备的;

(3)JdbcTemplate对象,提供了数据增删改查的API方法;

(4)学习【Spring JDBC】,主要就是学习【如何配置Spring JDBC】和【JdbcTemplate对象中的方法】;

二:已经有【Mybatis】了,为什么还需要【Spring JDBC】?

(0)ORM(object/relation mapping 对象关系映射)目前数据库是关系型数据库 ORM 主要是把数据库中的关系数据映射称为程序中的对象。

(1)这两者面向的对象不一样;【Mybatis】作为一个ORM框架,其封装程度较高,适合于中小企业进行软件的敏捷开发,让程序员可以快速完成数据库交互工作;但是,【Mybatis】需要进行一系列的配置,也有很多操作细节需要注意,即【Mybatis】的封装程度还是比较高的;封装程度高,就意味着执行效率相对较低;

(2)对于大的公司,无论是数据量还是并发量都是很高的,此时如果使用【Mybatis】,可能由于微小的性能上的差距,就会导致整体应用变慢;所以,对于很多大公司来说,其很少使用市面上成熟的框架,更多时候是使用像【Spring JDBC】这样的轻量级框架,在这个基础上结合自己企业的特点进行二次封装;

(4)【Spring JDBC】只是对原始JDBC进行简单封装;和【Mybatis】相比,【Spring JDBC】的执行效率更高;

(5)同时,由于Spring中【Spring IoC】容器的存在,和使用【原生JDBC】相比,使用【Spring JDBC】程序也变得更容易管理;

(6)【Spring JDBC】是介于【ORM框架,比如Mybatis和Hibernate】和【原生JDBC】之间的一个折中方案

三:Spring JDBC使用步骤

Spring JDBC与事务管理1:Spring JDBC一:Spring JDBC简介;零:【Spring JDBC与事务管理】部分,内容介绍一:Spring JDBC简介 二:已经有【Mybatis】了,为什么还需要【Spring JDBC】?三:Spring JDBC使用步骤

(1)【 DataSource数据源】以前介绍过,其作用是指明【到底要连接哪种数据库,哪台服务器,数据库用户名和密码是什么】;

(2)配置好之后,需要在Dao中初始化【JdbcTemplate对象】,并通过【JdbcTemplate对象】实现增删改查操作;