浅浅的了解一下JDBC (一)

1、JDBC是干啥的?

简而言之,jdbc是操作数据库的一套api。 那啥是api?  就是一套接口,提供了一些类和方法。  通俗的讲,jdbc就是帮助Java程序连上数据库然后进行增删改查。话不多说,直接上图。

java程序不像navicat.workbench 这些数据库的客户端、可以连接数据库的。java程序想直接连数据库需要获取到不同数据库的驱动(官方提供的)才可以连接数据库进行操作。那啥是驱动啊?就类似我们电脑摄像头,安上驱动才可以使用。那数据库驱动,道理一样。只不过这些驱动是官方提供的一些实现类,以jar包形式给我们,编译好的.Class文件。它们实现JDBC这套接口,完成数据库的连接和操作。真正执行代码的是这套驱动。

2、为啥要用JDBC? 

由于不同的数据库底层不一样,我们想连不同的数据库,就要获取不同的数据库驱动,如果没有JDBC 那么每切换一次数据库,JAVA都需要写一套代码。而JDBC解决了这个问题,Java程序连接到jdbc,让JDBC去获取驱动,这样的话,同一套JAVA代码,就可以操作不同类型的数据库,每次切库只需要修改底层数据库即可

3、JDBC代码实现-四步走?

4、JDBC中API的简单介绍

1、DriverManager(驱动管理类)

   作用1、获取驱动。实际上,registerDriver方法是用于注册驱动的。

Driver类中已经执行了 DriverManager 对象的 registerDriver() 方法注册驱动,那么我们只需要加载 Driver 类,这段静态代码块就会执行,也就注册了驱动。

作用2、获取数据库连接。主要是通过DriverManager对象获取connection连接对象,使java代码和数据库建立连接;

2、Connection(数据库连接对象)

作用1.获取执行 SQL 的对象 connection.createStatement (普通sql) prepareStatement(预编译)作用2.管理事务 三个方法:事务的开启(setAutoCommit)、提交(commit)、回滚(rollback)

3、 Statement 执行sql语句

如executeUpdate、executeQuery等方法,statement在拼接sql时是不安全的,容易造成sql注入;

那啥是sql注入? 举例,黑客登陆你内部系统时,使登录条件永真,如在where后加 or 1=1 则可以随意登录你的系统。   使用PreparedStatement可以预防sql注入

4、ResultSet    返回的是结果集。

 对象常用方法有resultSet.next() 返回值是 boolean (true 当前行有数据;false 当前行无数据)

getXxx(参数):获取数据
xxx : 数据类型;如: int getInt(参数) ;String getString(参数)
nt类型的参数:列的编号,从1开始.     String类型的参数: 列的名称

5、数据库连接池的简单介绍 

我把数据库的连接比作你打开一个软件,关闭连接比作叉掉这个软件。 之前我们代码中使用连接都是先创建一个Connection对象(也就是打开了软件),使用完毕就会将其销毁(叉了软件)。这样重复创建销毁是耗费计算机的性能和时间的。使用了数据库连接池后,也就是这个软件提前打开,谁用谁直接点进去。(不用重复的点开和叉掉了) 那么也就是提高Connection对象的复用率。

常用的是阿里巴巴提供的Druid连接池,好用,功能强大,以及C3P0、DBCP等。

1、  数据库连接池优点

1   资源复用  数据库连接池类似线程池,提前创建好放在那里,谁用谁取

2   提升系统响应速度 我们不用每次连数据库都要去创建connection了,所有请求时间变少了     

3   避免数据库连接遗漏 数据库连接都是有最大连接数的,如果都连满了,那么别人就连不上了。

2、如何使用?

直接看上面代码就可以了,很简单,需要直接复用即可,看到这的朋友给我点赞吧!!

jar包和配置文件在百度网盘 需要请自取! 

Druid jar包及配置文件

 

  • 29
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值