1.背景介绍
JDBC这个概念是我在做DAO层时了解到的知识点,主要用来实现连接底层数据库,并且能够实现通过java代码对数据库进行数据的增删查改。这个各位师兄肯定是很了解的,但是最近任务更新后使用的是JDBCTemplate进行操作,可能会有一些师兄们就了解的不是很深,所以我也就浅显的讲一下,括弧笑。
并且JDBC和JDBCTemplate是不是有啥联系呢?毕竟长得这么像!
2.知识剖析
首先讲JDBC肯定离不开DAO(Data Access Object)层,而JDBC的原理就是通过Connection对象获取数据库的连接,然后通过PreparedStatement对象处理SQL语句,再通过它的.setObject方法传入数据,最后通过方法.executeUpdate()和.executeQuery()执行更新,这就是JDBC的基本原理。
可以看到,JDBC涉及到了连接数据库、然后处理SQL语句、然后传值这几个过程,可以说任何通过java代码对数据库的操作都离不开这几个过程。但为什么会有五花八门的JDBC、JDBCTemplate和mybatis(我就学了这几个,更多的我就不知道了)这些方法的分别呢?
那我们来看看JDBCTemplate有什么不一样。
首先JDBCTemplate是涉及到spring框架的一种方法,我们都知道spring框架中有一个神奇的东西,就是.xml配置文件。JDBCTemplate就是通过这个配置文件极大的简化了我们代码量,并且提高了安全性。
那么问题来了,怎么通过配置文件实现简化代码呢?
其实和JDBC的思路是大同小异的。
首先我们需要在接口实现类中拥有一个set方法,这个是使用JDBCTemplate一定要注意的,没有会报错,而这个set方法就是用来连接数据库的。然后创建DataSource对象和JDBCTemplate对象,分别是用来连接数据库和处理SQL语句的。最后使用JDBCTemplate对象的.update方法和.query方法分别实现插入和查找。
讲完原理,还有配置文件的功用还没讲。
配置文件中的东西不多,一个是DataSource对象的bean,另一个是接口实现类的bean并且和DataSource的bean做了引用。最后在测试类中(就是驱动函数中),我们需要用ApplicationContext对象存储配置文件的路径,该路径通过ClassPathXmlApplicationContext得到,
然后用ApplicationContext对象的.getBean方法连接到配置文件里的接口实现类的bean,然后就可以愉快的使用方法了
可以看到JDBCTemplate其实对JDBC的获取数据库连接的Connection对象做了封装,提高了整体安全性,并且减少了大量冗余代码,提高工作效率;插入、删除等操作时也不用像JDBC一个一个字段进行操作了,极大简化代码量,减少失误;并且摒弃了TryCatch块,更加安全了。
总之是个利器,就这么理解好了,哈哈
3.参考文献
http://www.yiibai.com/springjdbc/stored_function.html
问题:jdbcTemplate 和 jdbc的区别就是对数据库连接做了封装吗?
答:不单单是这个,插入、删除等操作时也不用像JDBC一个一个字段进行操作了,极大简化代码量,减少失误;并且摒弃了TryCatch块,更加安全了。所以说,相较于JDBC,它实现了三个优化。
PPT链接:
ptteng.github.io/PPT/PPT-java/java_task01_jdbcTemplate.html#/
视频:
JDBCTemplate和JDBC_腾讯视频
网友评论