一、主要知识点
1、JDBC概述
- 什么是JDBC【掌握】
英文命名:Java DataBase Connection(JDBC),Java数据库连接,是一组由Java编写的类和接口组成。
- JDBC实现的功能【掌握】
功能:
- 用于执行数据库访问的应用程序API
2) 用统一的语法对多种关系数据库进行访问,不必关心数据库语言之间的差异
- JDBC的体系结构【了解】
JDBC的体系结构分为两层:
- 驱动程序管理器接口(JDBC Driver Interface)
- JDBC应用程序接口(JDBC API),即包含的类和接口
- JDBC的特点【理解】
优点:
1)使开发人员从复杂的不同的驱动器调用接口解脱出来,主要关注核心的业务逻辑即可
2)支持不同的数据库,大大增强了程序的移植性
3)JDBC的API是面向对象的,可以对其提供的方法进行二次封装
缺点:
- 使访问数据库的速度受一定的影响(肯定不如直接操作数据库快)
2)JDBC体系结构中包含不同厂家的产品,更改数据源时会带来一定的麻烦
- JDBC的核心接口与类【掌握】
- 核心类:
DriverManager: 负责管理JDBC的驱动程序
SQLException: 封装了数据库操作产生的异常
- 核心接口:
Connection: 代表特定数据库的连接,即连接通道
Statement: 执行静态SQL语句
PreparedStatement: 用于执行预编译的SQL语句,是Statement的子接口
ResultSet: 代表执行查询语句返回的结果集
CallableStatement:用于执行存储过程,并处理存储过程返回的结果
2、创建JDBC应用
- 创建JDBC应用程序的步骤【重点掌握】
- 载入JDBC驱动程序
- 建立连接,需要指定连接数据库的URL、用户名、密码(这是连接数据库的三要素)
- 创建statement对象
- 执行SQL语句
- 处理结果集
- 关闭数据库的连接
- 数据库驱动程序【深入理解】
分类:
1)Type1: JDBC-ODBC桥
通过JDBC-ODBC桥来操作ODBC数据源对应的数据库,此种方法需要服务器安装ODBC组件。
2)Type2: 本地API驱动
把JDBC调用转变为数据库的标准调用函数再去访问数据库,此种方法需要本地数据库驱动代码
3)Type3: 网络协议驱动
使用网络协议将请求发送给中间服务器,再由中间服务器去访问数据库服务器
4)Type4: 本地协议驱动(目前最常用的)
直接把JDBC调用转换为符合数据库系统协议规范的请求,属于直接调用数据库,省略中间组件或中间服务器环节。
完全由Java编写,实现了平台独立性。
注意:4)也叫直连,可以用现实生活中的找对象的例子阐述(传统找对象用媒婆,现在不用)
连接Oracle11g的驱动程序:
- 按步骤实现JDBC操作
- 步骤1:加载JDBC驱动程序
会抛出:ClassNotFoundException异常,用try catch捕获
- 步骤2:建立连接
会抛出:SQLException异常,用try catch捕获
- 步骤3:创建Statement对象
-
- 步骤4:执行SQL语句
- 步骤5:处理结果集
-
- 步骤6:关闭数据库连接
二、示例代码
示例1、查询scott用户下的部门信息
示例2、重构示例1,把结果集的数据放入部门对象,并把部门对象放入List里
重构后的项目结构如下:
实体类DeptInfo的结构如下:
DeptDB类:
三、补充知识点
1、sql语句的写法:select *和select 字段列表
推荐使用select字段列表,性能要比select *要高;因为select *要执行全表扫描。
2、sql语句在程序中的编写规范
SQL关键字一律大写,其他可小写
3、Oracle经历的版本号:
Oracle 8i/9i
I:internet:改变了Oracle的访问方式
Oracle 10g/11g
g:grid,改变了Oracle的数据存储方式,提高了数据查询效率
Oracle 12c
C:component:改变了Oracle实例的运行方式
4、关于开发工具Eclipse Mars
Eclipse版本:Mars 4.5
JDK版本:JDK1.7+ 6位
5、安装Eclispe和JDK说明
1)直接解压到没有中文和空格的目录里
2)配置JDK的环境变量JAVA_HOME,并把JAVA_HOME配置到Path里
3) 验证JDK是否配置成功,在cmd窗口输入javac -version或者java –version
后,如果显示版本号,则证明配置成功
6、包的作用及命名规则:
1)包是用来区分相同类名的类
2)包的命名规则反域名
如:www.neusoft.com--域名 反域名:com.neusoft.www
Cls3.neusoft.com
四、常见错误/异常分析
1、如果把驱动程序的包名写错,会报什么异常?
2、如果把url写错(ip地址、端口号),会报什么异常?
3、如果把用户名/密码写错,会报什么异常?
4、在处理结果集时,有如下代码片断,位置(1)、位置(2)、位置(3)代码因写法不同,运行结果会如何?哪种写法代码最优呢?
5、结果集里的字段大小写与程序中SQL语句中的字段大小写有关系吗?
6、出下如下异常可能的原因:
1)
产生的原因:
- Oracle服务器上的监听没有启动,启动:lsnrctl start
- Oracle数据库的ip地址、端口号写错了
2)
产生的原因:
- 监听器的启动顺序后于oracle实例的启动,则会导致此异常;应该先启动监听,然后再启动oracle的实例
- 实例名写错了
五、课后作业
- 什么是JDBC,何时用到JDBC?
答:Java DataBase Connection,java数据库连接,是一组由java编写的类和接口组成
2、JDBC有哪些特点?
3、JDBC有哪些核心类和接口,其作用分别是什么?
4、创建JDBC的核心步骤有哪些?
5、数据库驱动程序分为哪几类,其区别是什么?
6、上机示例:按照JDBC的标准步骤,查询scott用户下的emp表的信息员工编号、姓名、职位、薪水、部门名称。
六、课后作业选讲
1、暂无
2、暂无