您的位置:首页 > 数据库 > Oracle

新手上路之oracle JDBC 笔记

2017-07-16 20:25 309 查看
jdbc: java database connectivity java 与数据库的连接.

一、角色分类

服务器 (db): a)、接收 sql b)、执行 sql c)、返回结果

客户端 (java): a)、接收数据 b)、组装sql c)、发送SQL(与数据库建立联系) d)、分析结果

二、面向接口编程

1、java 制定标准 ,不同的数据库厂商实现 接口即可。java 中提供的接口 java.sql.*包

2、oracle 厂商实现接口 (jar)

安装 磁盘:\

app\Administrator\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar 视安装路径而定

三、连接

1、准备工作

 引入驱动包

 构建路径 build path

 测试用户是否正确登录

2、建立连接

1)、连接字符串

驱动: oracle.jdbc.driver.OracleDriver

url: jdbc:oracle:thin:@db 服务器地址:端口:实例

2)、编写测试类

加载驱动

a)、硬编码: new oracle.jdbc.driver.OracleDriver();

b)、软编码: class.forName(“oracle.jdbc.driver.OracleDriver”)

建立连接

Connection con =DriverManager.getConnection(“jdbc:oracle:thin:@locahost:指定端口:实例”,用户名,密码);

四、处理块

1、静态处理块 Statement

Statement 是 Java 执行数据库操作的一个重要接口,用于在已经建立数据库连

接的基础上,向数据库发送要执行的 SQL 语句。Statement 对象,用于执行不带参数

的简单 SQL 语句。

执行静态 SQL 语句并返回它所生成结果的对象。

1)、创建 : 连接.Connection.createStatement()

2)、执行 :

ddl –>execute(dd语句) – 通常不会在代码中执行

dml –>executeUpdate(dml语句)

select –>executeQuery(select)

3)、特点:处理 不变的静态的 sql 语句

优点: 直接查看sql ,方便处理错误

缺点:性能不高 拼接 sql 麻烦 可能存在 sql 注入

2、预处理块 PreparedStatement

PreparedStatement 接口继承了 Statement,并与之在两方面有所不同:有人

主张,在 JDBC 应用中,如果你已经是稍有水平开发者,你就应该始终以

PreparedStatement 代替 Statement.也就是说,在任何时候都不要使用 Statement。

由于 PreparedStatement 对象已 预编译 过,所以其执行速度要快于 Statement

对象。因此,多次执行的 SQL 语句经常创建为 PreparedStatement 对象,以提高效率。

1)、创建:创建:连接.prepareStatement(sql)

2)、执行:

存在 ? ,先填充参数再执行

ddl –>execute()

dml –>executeUpdate()

select –>executeQuery()

3)、特点 : 处理 不变的静态的 sql 语句 |可变的 sql 语句 带 ? 的 sql

优点:性能高,方便编写sql 不存在sql注入 安全

缺点:不能直接打印sql语句 不方便处理错误

五、分析

执行完 SQL 语句后可能成功也可能失败,如果成功,有数据则我们很大一部分情况是

需要获取查询的结果。数据就是一切

 ddl:没有异常就是成功

 dml: 结果>0就是成功

 select:分析结果集

对于 select 的结果集进行分析,类似于迭代器, 先判断(移动)再获取

next()

getXxx(索引|列名|别名)

六、释放资源

释放资源的原则是 先打开的后关闭, 则我们的顺序一般为: 结果集->处理块->连接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jdbc oracle 数据库