标签:https 厂商 tor column 不同 相同 数据库 图形化 数据库查询
通过Java Database Connectivity可以实现Java程序对后端数据库的访问
一个完整的数据库部署架构,通常是由客户端和服务器端两部分组成
客户端封装数据库请求,并发送给服务器端,服务器端执行完毕后将结果返回给客户端
常见客户端工具:
MySQL Workbench(图形化工具操作简单,但只能实现简单的查询)
JDBC(驱动程序jar包)
命令行工具(直接敲入SQL语句进行查询)
市面上多种数据库不尽相同,学习成本高,数据库迁移的移植性
-- JDBC(普通的Java类库): 应用程序通过统一的接口,即可实现对任意数据库的访问。
对于数据库厂商来说,JDBC就是一套接口规范,每一个数据库都需要实现JDBC定义的接口,用户通过接口访问数据库即可。
JDBC优势:对数据库的访问简单,开发快捷、省时间,面向不同数据库时的移植性强,在JDBC上可以定制功能强大的框架(如MyBatis)
体系架构:
上层API层负责与Java Web程序之间的通信
JDBC API:
Driver & DriverManager:
Driver是驱动程序的抽象,通过操作Driver接口,可以实现对各个驱动程序的操作
DriverManager是驱动程序的管理类,用户通过Class.forname(DriverName)向DriverManager注册一个驱动程序,
之后通过DriverManager的getConnection方法调用该驱动程序建立到后端数据库的物理连接。
DriverManager.getConnection(DB_URL, USER, PASS));
// USER和PASS在部署数据库时获得
// DB_URL是后端数据库实例的唯一标识符
i.e. jdbc : mysql : //10.164.172.20:3306/cloud_study
协议 子协议 子名称(主机 端口 数据库)
(子协议不同,子名称的格式也略有不同。)
Connection:通过DriverManager的getConnection方法获得的到后端数据库的物理连接
Java应用程序对后端数据库的一条物理连接
通过这些连接,可以执行一些SQL语句:
Statement stmt = conn.createStatement(); // sql statement
Statement:sql语句的容器,用于承载sql语句,在该容器中,可以进行增删改查等操作
通过executeQuery方法,执行数据库查询并得到返回结果的集合,以ResultSet类的对象来表示:
ResultSet rs = stmt.executeQuery("select userName from user");
通过executeUpdate方法,执行数据库更新、删除语句,返回的是int值的对象,代表被影响的数据库记录数量
ResultSet对象表示一个sql语句查询的结果。
关系型数据库:二元表 -- ResultSet对象也是由行和列组成的
ResultSet对象内部有一个指针,指向当前对应的行记录(默认指向第一行记录)
.next():将指针移动到下一行
.previous():将指针移动到下一行
.absolute():将指针定位在某一行
.beforeFirst():将指针移到第一行的之前(通过.next()才能到第一行)
.afterLast():将指针移到最后一行之后
.getString(ColumnName/Index):(index从0开始)获取对应列的值
.getInt(ColumnName/Index):
.getObject(ColumnName/Index):
SQLException:在执行过程中MySQL可能会抛出一些异常
通过捕获SQLException对象来进行异常的处理
下层Driver API层负责与具体的数据库建立连接,一般而言下层的driver都是由数据库厂商提供的。
安装JDBC:
JDBC已经集成在JDK中,可以直接引用,无需安装。
需要安装的是数据库的驱动程序
对于MySQL数据库:
登陆Oracle账号,下载jar包,添加到java web project中。
https://dev.mysql.com/downloads/connector/ 下载Connector/J 5.1.43
构建完整的Java Web程序:
构建步骤:
装载驱动程序:向DriverManager注册一个驱动程序Driver
建立数据库连接:DriverManager.getConnection()
执行SQL语句:Statement.execute...()
获取执行结果:ResultSet对象
清理环境:
使用JDBC之前,需要准备一个数据库的后端实例,创建一个user表
Java开发工程师(Web方向) - 03.数据库开发 - 第1章.JDBC
标签:https 厂商 tor column 不同 相同 数据库 图形化 数据库查询
原文地址:http://www.cnblogs.com/FudgeBear/p/7398291.html