JDBC和JDBCTemplate

作者: 黑白电影_ | 来源:发表于2017-09-15 19:14 被阅读227次

1.背景介绍

Java程序员在以后的工作中很重要的一点就是得和数据库打交道,但是代码和数据库是两个不相干的.

怎么使用代码对数据库进行操作呢,这个时候就用到JDBC。


2.知识剖析

什么是JDBC?

①JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,

可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

而多的这个template,就是模板,是Spring框架为我们提供的.

所以JDBCTemplate就是Spring对JDBC的封装,通俗点说就是Spring对jdbc的封装的模板


3.常见问题

jdbc做了什么?

JDBCTemplate做了什么?

jdbcTemplate是怎么做到的?


4.解决方案

JDBC的原理就是通过Connection这个类获取数据库的连接,

然后通过PreparedStatement类处理SQL语句,再通过它的.setObject方法传入数据,

最后通过方法.executeUpdate()和.executeQuery()执行更新,这就是JDBC的基本原理。

JDBCTemplate帮我们省去了很多麻烦.

②指定数据库连接参数.

打开数据库连接.

预编译并执行SQL语句.

遍历查询结果(如果需要的话).

处理抛出的任何异常.

处理事务.

关闭数据库连接

那么JDBCTemplate怎么做到的,这就和spring有关系了

SpringIOC容器将管理数据库连接的数据源当作普通Java Bean一样管理,

然后将数据源注入封装类JdbcTemplate中,:

JdbcTemplate的dataSource属性就是注入配置的数据源


5.编码实战


6.扩展思考

JdbcTemplate对JDBC的差别在哪?

jdbc需要每次进行数据库连接, 然后处理SQL语句,传值,关闭数据库.

甚至有时还可能会出现数据库忘记关闭导致连接被占用.

在以后的工作中,客户的需求肯定不是一成不变的,这就导致经常会改动数据库内容.

通过JDBCtemplate我们只需更改需要更改的那一部分内容就可以了,不需要进行全局修改.

Spring将替我们完成所有的JDBC底层细节处理工作.


7.参考文献

①百度

②http://www.cnblogs.com/binyue/p/4037628.html


8.更多讨论

(1)使用 jdbc.properties 有什么好处?

假如我们需要更改连接数据库的配置,我们直接在jdbc.properties里面更改一次就可以了.而JDBC的话需要增删改查里面每个连接数据库的配置都需要更改.

(2)如果真的发生数据库连接资源被占用,有什么解决方法

修改 MySQL 安装目录下 my.ini 或者 my.cnf 文件内的 max_user_connections 参数的数值,重启 MySQL 服务器。

(3)jdbctemplate和mybatis分别在什么情况下使用,jdbc template  和spring+mybatis一样吗?,和mybatis相比有什么优缺点?

这三个问题其实差不多.JDBCTemplate和Mybatis不一样,Mybatis的sql语句放在了mapper.xml文件里面.相当于配置在了环境当中,随时都可以使用. 而JDBCTemplate则是写在了实现类里面,使用的时候还要进行重新调用配置之类的. 以后的工作中可能对多个表进行操作,配置在环境中使用起来非常方便.

(4)如何来控制数据库的打开关闭.

Class.forName("com.mysql.jdbc.Driver"); 这个初始化驱动就是打开了数据库链接

Connection c = DriverManager.//连接数据库,

//关闭数据链接

ps.close();

c.close();

而JDBCTemplate的打开关闭则是封装在JDBCTemplate当中.

(5)jdbc 和 jdbctemplate 相比  效率有差别么

单从效率方面来说,实际上jdbc比jdbctemplate的效率会高一点.jdbcTemplate则更方便我们进行更改内容,和理解当中的逻辑.

(6)jdbcTemplate 实现执行多条sql语句.

一种直接用mysql的批量处理语句.

另外一种拼接SQL语句直接一次性提交多少条数据.

(7)jdbcTemplate有什么缺点

必须于Spring框架结合在一起使用、不支持数据库跨平台、默认没有缓存.


今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~

http://www.jnshu.com/login/1/14708688

PPT:https://ptteng.github.io/PPT/PPT-java/Java%20task1-JDBC%E5%92%8CJDBCTemplate.html#/



JDBC和JDBCTemplate_腾讯视频

相关文章

  • Spring | JDBC

    一、JdbcTemplate介绍 JdbcTemplate 是 Spring JDBC 框架的核心,JDBC 模板...

  • Jdbc和Jdbctemplate

    大家好,我是IT修真院郑州分院第11期的JAVA学员何爽,一枚正直纯洁善良的java程序员。 今天给大家分享一下,...

  • JDBCTemplate和JDBC

    1.背景介绍 JDBC这个概念是我在做DAO层时了解到的知识点,主要用来实现连接底层数据库,并且能够实现通过...

  • JDBC和JDBCTemplate

    1.背景介绍 Java程序员在以后的工作中很重要的一点就是得和数据库打交道,但是代码和数据库是两个不相干的. 怎么...

  • JDBCTemplate和JDBC

    大家好,我是IT修真院上海分院第02期学员,一枚正直善良的Java程序员。 今天给大家分享一下,修真院官网task...

  • Spring JDBC时序图

    Spring JDBC时序图JdbcTemplate继承了JdbcAccessor和接口JdbcOperation...

  • 18.12.8学习

    spring jdbc 重点是获取jdbctemplate 传入drivermanagersource获取jdbc...

  • spring jdbc

    JdbcTemplate Spring JDBC最核心的类,其他的方式都是基于JdbcTemplate来实现的。 ...

  • jdbcTemplate&jdbc

    jdbcTemplate&jdbc 一、背景介绍 1)概念: JDBC(Java Data Base Co...

  • SpringBoot 整合jdbctemplate

    前言 JdbcTemplate简介 JdbcTemplate是Spring框架自带的对JDBC操作的封装,目的是提...

网友评论

    本文标题:JDBC和JDBCTemplate

    本文链接:https://www.haomeiwen.com/subject/ykdesxtx.html