问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何连接oracle数据库?

发布网友 发布时间:2022-04-21 15:07

我来回答

1个回答

热心网友 时间:2023-10-23 09:57



之前学习.NET的时候。以前利用ODBC进行连接数据库,而在Java中通常_用JDBC连接数据库,这里以oracle数据库为例简单的总结一下利用JDBC怎样连接并操作数据库。

1、连接
public class DbUtil {
public static Connection getConnection(){
Connection conn=null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");//找到oracle驱动器所在的类
String url="jdbc:oracle:thin:@localhost:1521:bjpowernode"; //URL地址
String username="drp";
String password="drp";
conn=DriverManager.getConnection(url, username, password);

} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
<pre name="code" class="java">
public static void close(PreparedStatement pstmt){
if(pstmt !=null){
try {
pstmt.close();
} catch (SQLException e) {

e.printStackTrace();
}
}
}

public static void close(ResultSet rs){
if(rs !=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}}


在运行Class.forName时,须要找到OracleDriver所在的地址,路径为:
1、首先找到

D:\oracle\proct\10.2.0\db_1\jdbc\lib 找到ojdbc14.jar

2、其次再找到 ojdbc14.jar\oracle\jdbc\driver以下的oraceldriver这样就找到了要使用的驱动程序文件





2、操作数据库--加入

public void addUser(User user){
String sql="insert into t_user(user_id,user_name,PASSWORD,CONTACT_TEL,EMAIL,CREATE_DATE)values(?,?
,?,?,?
,?)"; //?为_数占位符
Connection conn=null;
PreparedStatement pstmt=null; //通常利用PreparedStatement进行操作,性能得到优化
try{
conn=DbUtil.getConnection();
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, user.getUserId());
pstmt.setString(2,user.getUserName());
pstmt.setString(3, user.getPassword());
pstmt.setString(4, user.getContactTel());
pstmt.setString(5,user.getEmail());
//pstmt.setTimestamp(6,new Timestamp(System.currentTimeMillis()));
pstmt.setTimestamp(6, new Timestamp(new Date().getTime()));//获取当前系统时间
pstmt.executeUpdate();//运行增删改操作

}catch(SQLException e){
e.printStackTrace();
}finally{
DbUtil.close(conn);
DbUtil.close(pstmt);

}

}


3、操作数据库--查询

public User findUserById(String userId){
String sql = "select user_id, user_name, password, contact_tel, email, create_date from t_user where user_id=?";
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;//定义存放查询结果的结果集
User user=null;
try{
conn=DbUtil.getConnection();
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,userId);
rs=pstmt.executeQuery();//运行查询操作
if(rs.next()){
user=new User();
user.setUserId(rs.getString("user_Id"));
user.setUserName(rs.getString("user_name"));
user.setPassword(rs.getString("password"));
user.setContactTel(rs.getString("contact_Tel"));
user.setEmail(rs.getString("email"));
user.setCreateDate(rs.getTimestamp("create_date"));
}
}catch(SQLException e){
e.printStackTrace();
}finally{
//按顺序进行关闭
DbUtil.close(rs);
DbUtil.close(pstmt);
DbUtil.close(conn);

}
return user;
}
四、总结
1、PreparedStatement与Statement的简单差别
Statement为一条SQL语句生成运行计划,假设_数值不同。会生成不同的sql语句,运行相应_数值个数的次数。假设仅仅有一条SQL语句运行时,最好_用Statement进行。
PreparedStatement使用绑定变量重用运行计划。不同的_数值相应的查询语句。仅仅会生成一个sql语句。大大提高了运行的效率。是预编译的。在大批量语句操作时,提高了效率,同一时候可_用‘?‘来代表_数,能够防止SQL注入。安全性更高。
2、与之前的知识进行联系
眼下接触到的额JDBC中的连接对象有Connection这个与之前ODBC的Connection作用同样,为数据库连接对象。而PraparedStatement与Statement与ODBC中的command对象类似。都是用来运行SQL语句的。查询方法中用到的ResultSet则与之前用到的DataSet或者DataTable功能类似,这样一联系,似乎这个连接和使用过程变得简单的很多吧!






怎样利用JDBC连接并操作Oracle数据库
标签:--retoca性能trycalproctexease

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小红书怎么修改ID 专属ID更改方法 Win11如何更改字体视觉效果 Win11字体视觉效果修改方法介绍 华为团队管理模式 通信工程这个专业主要是学什么 专注力差的孩子该如何纠正 三岁的孩子专注力不好,怎么培养她的专注力呀!。 镇江关周围有什么玩的,镇江及周边旅游景点 大港南站去镇江汽车站怎么走 镇江汽车站到大港南站有多远 出国去澳大利亚留学都需要注意哪些事项呢? 澳大利亚留学条件及注意事项有哪些 oracle如何连接oracle数据源 oracle数据库连接方式有几种 数据模型的分类有哪些? 支付宝零钱提现到银行卡要手续费吗 支付宝余额提现手续费怎么算 支付宝提现需要手续费吗 数据库中最常用的数据模型是哪种 华为al10在哪插卡? 华为的sim卡管理在哪 华为的sim卡设置在哪 华为matex2卡槽在哪里? 华为手机的sim卡设置在哪里面 华为手机的sim卡设置在哪里 绿萝如何快速长爆盆? 怎么让绿萝长的旺盛? 绿萝怎么生长你知道吗告诉我行吗求点赞? 种绿萝的过程 绿萝如何种植,才能生长更快? 如何让绿萝快速生长 绿萝如何快速生长 Oracle数据库连接的几种方式 oracle中怎样连接到数据库 怎么连接oracle数据库服务器 如何用navicat连接oracle数据库 如何创建oracle连接其他数据库的方法? 起泡胶材料有哪些? navicat for oracle 怎么连接oracle数据库 求 穿越成女配的小说 做起泡胶的材料有哪些 oracle远程数据库连接(局域网访问) oracle数据库连接怎么使用 起泡胶有几种做法? 女主穿越成女配的小说 局域网内如何连接Oracle数据库 穿成女配怎么破 怎么做起泡胶有胶水 oracle数据库如何通过ip连接 找一部穿越成女配的小说 如何连接别人电脑上的ORACLE数据库 女配小说 穿成女配抢男主