日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

java中oracle.链接,java连接Oracle数据库的方法解析

發布時間:2025/3/19 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中oracle.链接,java连接Oracle数据库的方法解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文主要對java連接Oracle數據庫方法進行步驟解析,具有很好的參考價值,需要的朋友一起來看下吧

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包導入該文件夾中

鼠標移到該包上;右鍵-->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();

}

}

}

}

3.創建一個測試類

public class Test {

public static void main(String[] args) {

/**

* 增刪改查完成,但是有一定局限性

* 1.增 問題不大

* 2.刪 要給出一個值去刪除(可能值不存在-->沒有處理機制,值不唯一怎么處理?)

* 3.改 同刪的問題

* 4.查 問題不大

*/

//創建OperateOracle對象

OperateOracle oo=new OperateOracle();

//測試增加數據操作

//oo.AddData("孫中山",1,25,"北京市海淀區紅旗路111號");

//測試刪除數據操作

//oo.DeleteData("孫中山");

//測試更新數據操作

oo.UpdateData("孫中山",1,30,"北京市東城區岳山路11號");

//測試查詢數據操作

//oo.SelectData();

//測試ResultSetMetaData類

//oo.SelectData2();

}

}

正如測試類中所注釋的,此處只可按照正確的方式去連接Oracle數據庫,操作增刪改查操作,但是對于一些錯誤操作的處理機制還不夠完善。

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

總結

以上是生活随笔為你收集整理的java中oracle.链接,java连接Oracle数据库的方法解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 实拍女处破www免费看 | 91丨porny丨国产 | 中文字幕88| 99热热99| 麻豆视频免费网站 | 亚洲一级片网站 | 国产91一区在线精品 | 国产中文字幕91 | 欧美精品久久久久性色 | 欧美激情视频一区二区三区 | 国产精品日韩在线 | 农民人伦一区二区三区 | 国产精品免费一区二区 | 国产好片无限资源 | 免费黄色av电影 | 亚洲日本网站 | 俺去操| 国语对白一区二区三区 | 亚洲图片欧美色图 | 91精品视频在线 | 亚洲一在线 | 国产精品伦一区二区三区 | 99草视频 | 美女毛毛片 | 欧美色香蕉 | 91欧美激情一区二区三区成人 | 欧美在线一级视频 | 久久撸视频| 国产成人无码aa精品一区 | 精品人妻无码一区二区三区换脸 | 水果派解说av | 久久女 | 91精品久久久久久久久久 | 日日干影院| tube国产麻豆 | 中文字幕伦理 | 黄色www视频 | 91视频色 | 久久视精品 | 欧美日本韩国 | 中文在线观看免费 | a天堂最新地址 | 成人av资源| 初尝黑人巨炮波多野结衣 | 91亚洲一区 | 97在线观看视频免费 | 美女涩涩视频 | 在线免费观看黄网 | 天堂网av2018| 婷婷色在线 | 边吃奶边添下面好爽 | 国产一精品一aⅴ一免费 | 肉色丝袜小早川怜子av | 国产一区免费在线 | 精品国产青草久久久久96 | 午夜福利三级理论电影 | 18禁肉肉无遮挡无码网站 | 久久鲁视频 | 国产99对白在线播放 | 欧美无极品 | 午夜福利视频一区二区 | 国产精品无码久久久久一区二区 | 91在线播 | 亚洲综合视频一区 | 妺妺窝人体色www聚色窝仙踪 | 伊人久久中文字幕 | 伊人宗合 | 精品无码一区二区三区 | 色婷婷777777仙踪林 | 萌白酱在线观看 | 无码少妇一级AV片在线观看 | 夜夜躁日日躁狠狠久久av | 九九久久国产视频 | 久久99国产精品成人 | 女同爱爱视频 | www.youjizz国产 | 91看片黄色 | 亚洲清纯唯美 | 懂色av蜜臀av粉嫩av分享吧最新章节 | 日本在线一级片 | 91丨porny丨中文 | 九九av| av少妇| 91精品人妻一区二区三区蜜桃欧美 | 精东传媒在线 | 中文字幕无码日韩专区免费 | 最新日韩三级 | 噼里啪啦国语高清 | 午夜免费体验区 | 一级黄色片一级黄色片 | 丝袜老师办公室里做好紧好爽 | 国产探花一区二区 | 久久精品国产视频 | 九九亚洲| 爱的色放韩国电影 | 国产 丝袜 欧美中文 另类 | 国产精品一国产精品 | 91精品导航 | 国产日产欧美一区二区 |