一个完整的数据库部署架构通常由客户端和服务器端两部分组成。客户端封装数据库请求将其发送给服务器端,服务器端执行完毕将其及结果返回给服务器端。
以mysql为例
介绍java应用程序对数据库的访问
JDBC意义:应用程序通过调用统一接口实现对任意数据库的访问,为我们屏蔽了客户端与服务器端交互协议的实现细节。
对java而言,JDBC是一个类库,对数据库而言,JDBC是接口规范。
有了JDBC,应用程序变得更加简单,提高了程序开发的效率,使java web面向不同的数据库时,具有跨平台性,基于JDBC之上,我们可以开发功能更强大的框架。
JDBC体系架构图
JDBC从体系架构来说,分为两层:
上层API:与我们编写的java web程序进行通信
下层数据库驱动层:和具体的数据库进行连接,一般由各个数据库厂商提供
在使用JDBC之前,我们先准备一个mysql数据库的后端实例,java应用程序实现读取人名
JDBC API 涉及的几个重要的java类:
1.Driver &DriverManager
Driver实际上是一个接口,定义了各个驱动程序必须要实现的功能,是驱动程序的抽象。通过操作Driver接口,即可实现对各个驱动程序的操作。
DriverManager是Driver的管理类,用户通过class.forname的方式,向DriverManager注册一个驱动程序,然后DriverManager通过getConnection方法,调用该驱动程序,建立到后端数据库的物理链接。
Connection对象代表java应用程序对后端数据库的一条物理链接。
Connection对象创建一个或多个Statement对象
Statement对象:是一个sql容器,容器中存放sql语句,执行更新查询删除操作,
通过Statement对象的executeQuery方法执行一个数据库查询得到数据库查询结果的一个集合,集合以ResultSet对象表示。
通过Statement对象的execute和executeUpdate语句删除和更新,返回的是INT值的对象,代表操作影响了多少条数据库记录。
介绍一下ResultSet对象:
代表了sql查询的结果,关系型数据库本质上是一个二元表,ResultSet对象实际上也是行和列组成的二元表。
分别是下一行,前一行,定位到某一行,第一行前,最后一行后
调整到行后需对应到列:
列名或列序号(从0开始排序)
操作过程中可能会抛出异常,sqlException进行处理
getConnection(DB_URL,UDER,PASS) 有三个参数.