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

JDBC (Java DataBase Connectivity) Java连接Oracle数据库

2016-06-02 10:47 696 查看
JDBC是由Sun MicroSystem公司提供,实际上是API应用程序编程接口

API Application Programming Interface 应用程序接口

SQL Structured Query Language 结构化查询语言

SQL端口:1433

Mysql端口:3306

Oracle端口:1521

大致上有4种驱动类型

① JDBC - ODBC桥驱动

② 纯Java驱动 (学习)

③ 本地API部分Java驱动

④ JDBC网络纯Java驱动

注意:操作方式基本相同,只是加载不同驱动程序

Java.sql包是Java内置的包,用于与数据库进行通信的类和接口

一些常用接口有:

Connection 连接对象,用于与数据库取得连接

Driver 用于创建连接(Connection)对象

Statement 语句对象,用于执行SQL语句,并将数据检索到结果集(ResultSet)对象中

PreparedStatement 预编语句对象,用于执行预编编译的SQL语句,执行效率比Statement高

CallableStatement 存储过程语句对象,用于调动执行存储过程

ResultSet 结果集对象,包括执行SQL语句后返回的数据集合

SQLException 数据库异常,继承于Java.lang.Exception

DriverManager 驱动程序管理类,用于加载和卸载各种驱动程序,并建立与数据库的连接

Date 将SQL日期格式转换成Java日期格式的方法

TimeState 表示一个时间戳,能精确到纳秒

JDBC操作步骤:

① 导入java.sql包

② 纯Java驱动方式

③ 加载并注册驱动程序

④ 创建connection对象

⑤ 创建Statement对象

⑥ 执行SQL语句

⑦ 关闭Statement对象

⑧ 关闭connection对象

public void testOracle()
{
Connection con = null;// 创建一个数据库连接
PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement
ResultSet result = null;// 创建一个结果集对象
try
{        Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
System.out.println("开始尝试连接数据库!");
String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:DBname";// 127.0.0.1是本机地址,DBname是精简版Oracle的默认数据库名
String user = "root";// 用户名,系统默认的账户
String password = "123456";// 你安装时选设置的密码
con = DriverManager.getConnection(url, user, password);// 获取连接
System.out.println("连接成功!");8
String sql = "select * from student where name=?";// 预编译语句,“?”占位符代表参数
pre = con.prepareStatement(sql);// 实例化预编译语句
pre.setString(1, "double");// 设置参数,前面的1表示参数的索引,而不是表中列名的索引
result = pre.executeQuery();// 执行查询,注意括号中不需要再加参数
while (result.next())
// 当结果集不为空时
System.out.println("学号:" + result.getInt("id") + "姓名:"
+ result.getString("name"));
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
// 逐一将上面的几个对象关闭,因为不关闭的话会响性能、并且占用资源
// 注意关闭的顺序,最后使用的最先关闭
if (result != null)
result.close();
if (pre != null)
pre.close();
if (con != null)
con.close();
System.out.println("数据库连接已关闭!");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 数据库