java连接Oracle数据库的方法解析
发布时间 - 2026-01-10 21:51:27 点击率:次Oracle数据库先创建一个表和添加一些数据

1.先在Oracle数据库中创建一个student表:
create table student ( id number(11) not null primary key, stu_name varchar(16) not null, gender number(11) default null, age number(11) default null, address varchar(128) default null );
2.向表中增添一些数据
insert into student values('1','王小军','1','17','北京市和平里七区30号楼7门102')
MyEclipse里编写java代码
1.将ojdbc6.jar导入项目中
先创建一个项目,然后在鼠标移到项目上右键-->new-->folder;folder name:lib;这样就在项目中创建了一个文件夹lib;然后将ojdbc6.jar包导入该文件夹中
该包下载地址链接:http://wd.:81//201612/yuanma/ojdbc6_jb51.rar
鼠标移到该包上;右键-->build path-->add to build path;
2.创建一个类,开始编码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
public class OperateOracle {
// 定义连接所需的字符串
// 192.168.0.X是本机地址(要改成自己的IP地址),1521端口号,XE是精简版Oracle的默认数据库名
private static String USERNAMR = "orcl";
private static String PASSWORD = "orcl";
private static String DRVIER = "oracle.jdbc.OracleDriver";
private static String URL = "jdbc:oracle:thin:@192.168.0.X:1521:xe";
// 创建一个数据库连接
Connection connection = null;
// 创建预编译语句对象,一般都是用这个而不用Statement
PreparedStatement pstm = null;
// 创建一个结果集对象
ResultSet rs = null;
/**
* 向数据库中增加数据
* 首先获取表内数据总数,总数+1为新增数据的id值
* @param stuName:学生姓名
* @param gender:学生性别,1表示男性,2表示女性
* @param age:学生年龄
* @param address:学生住址
*/
public void AddData(String stuName, int gender, int age, String address) {
connection = getConnection();
// String sql =
// "insert into student values('1','王小军','1','17','北京市和平里七区30号楼7门102')";
String sql = "select count(*) from student where 1 = 1";
String sqlStr = "insert into student values(?,?,?,?,?)";
int count = 0;
try {
// 计算数据库student表中数据总数
pstm = connection.prepareStatement(sql);
rs = pstm.executeQuery();
while (rs.next()) {
count = rs.getInt(1) + 1;
System.out.println(rs.getInt(1));
}
// 执行插入数据操作
pstm = connection.prepareStatement(sqlStr);
pstm.setInt(1, count);
pstm.setString(2, stuName);
pstm.setInt(3, gender);
pstm.setInt(4, age);
pstm.setString(5, address);
pstm.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
ReleaseResource();
}
}
/**
* 向数据库中删除数据
* @param stuName:根据姓名删除数据
*/
public void DeleteData(String stuName) {
connection = getConnection();
String sqlStr = "delete from student where stu_name=?";
System.out.println(stuName);
try {
// 执行删除数据操作
pstm = connection.prepareStatement(sqlStr);
pstm.setString(1, stuName);
pstm.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
ReleaseResource();
}
}
/**
* 向数据库中修改数据
* @param stuName:学生姓名,根据此值查询要修改的某行值
* @param gender
* @param age
* @param address
*/
public void UpdateData(String stuName, int gender, int age, String address) {
connection = getConnection();
String sql = "select id from student where 1 = 1 and stu_name = ?";
String sqlStr = "update student set stu_name=?,gender=?,age=?,address=? where id=?";
int count = 0;
try {
// 计算数据库student表中数据总数
pstm = connection.prepareStatement(sql);
pstm.setString(1, stuName);
rs = pstm.executeQuery();
while (rs.next()) {
count = rs.getInt(1);
System.out.println(rs.getInt(1));
}
// 执行插入数据操作
pstm = connection.prepareStatement(sqlStr);
pstm.setString(1, stuName);
pstm.setInt(2, gender);
pstm.setInt(3, age);
pstm.setString(4, address);
pstm.setInt(5, count);
pstm.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
ReleaseResource();
}
}
/**
* 向数据库中查询数据
*/
public void SelectData() {
connection = getConnection();
String sql = "select * from student where 1 = 1";
try {
pstm = connection.prepareStatement(sql);
rs = pstm.executeQuery();
while (rs.next()) {
String id = rs.getString("id");
String name = rs.getString("stu_name");
String gender = rs.getString("gender");
String age = rs.getString("age");
String address = rs.getString("address");
System.out.println(id + "\t" + name + "\t" + gender + "\t"
+ age + "\t" + address);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
ReleaseResource();
}
}
/**
* 使用ResultSetMetaData计算列数
*/
public void SelectData2() {
connection = getConnection();
String sql = "select * from employees where 1 = 1";
int count = 0;
try {
pstm = connection.prepareStatement(sql);
rs = pstm.executeQuery();
while (rs.next()) {
count++;
}
ResultSetMetaData rsmd = rs.getMetaData();
int cols_len = rsmd.getColumnCount();
System.out.println("count=" + count + "\tcols_len=" + cols_len);
} catch (SQLException e) {
e.printStackTrace();
} finally {
ReleaseResource();
}
}
/**
* 获取Connection对象
*
* @return
*/
public Connection getConnection() {
try {
Class.forName(DRVIER);
connection = DriverManager.getConnection(URL, USERNAMR, PASSWORD);
System.out.println("成功连接数据库");
} catch (ClassNotFoundException e) {
throw new RuntimeException("class not find !", e);
} catch (SQLException e) {
throw new RuntimeException("get connection error!", e);
}
return connection;
}
/**
* 释放资源
*/
public void ReleaseResource() {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstm != null) {
try {
pstm.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
正如测试类中所注释的,此处只可按照正确的方式去连接Oracle数据库,操作增删改查操作,但是对于一些错误操作的处理机制还不够完善。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# java Oracle数据库
# 创建一个
# 数据库中
# 鼠标
# 右键
# 北京市
# 移到
# 自己的
# 都是
# 和平里
# 就在
# 下载地址
# 所需
# 还不够
# 本机
# 先在
# 该文件
# 精简版
# 类中
# 端口号
# 包上
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
bootstrap日历插件datetimepicker使用方法
如何选择可靠的免备案建站服务器?
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
如何快速生成橙子建站落地页链接?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
在线教育网站制作平台,山西立德教育官网?
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
网站建设整体流程解析,建站其实很容易!
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
如何挑选优质建站一级代理提升网站排名?
如何在IIS7中新建站点?详细步骤解析
音乐网站服务器如何优化API响应速度?
Laravel如何使用Eloquent进行子查询
成都网站制作公司哪家好,四川省职工服务网是做什么用?
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
如何在IIS管理器中快速创建并配置网站?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
如何做网站制作流程,*游戏网站怎么搭建?
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
Laravel模型事件有哪些_Laravel Model Event生命周期详解
打造顶配客厅影院,这份100寸电视推荐名单请查收
如何快速上传自定义模板至建站之星?
Laravel用户密码怎么加密_Laravel Hash门面使用教程
制作电商网页,电商供应链怎么做?
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
原生JS获取元素集合的子元素宽度实例
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
如何在建站之星网店版论坛获取技术支持?
Laravel如何创建自定义Facades?(详细步骤)
Android仿QQ列表左滑删除操作
Python结构化数据采集_字段抽取解析【教程】
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
javascript如何操作浏览器历史记录_怎样实现无刷新导航
网站建设保证美观性,需要考虑的几点问题!
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
详解Huffman编码算法之Java实现
深入理解Android中的xmlns:tools属性
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
公司门户网站制作流程,华为官网怎么做?
如何在香港服务器上快速搭建免备案网站?

