JDBC 连接Oracle
工作中,我们遇到的操作数据库代码都是封装起来的,今天我们就来看看,最基本的利用JDBC来操作数据库.
JDBC连接数据库主要有三个步骤:
第一步:加载数据库驱动。通常我们使用Class.forName静态方法来加载驱动。
第二步:通过DriverManager获取数据库连接.
第三步:通过Connection 创建Statement对象,Connection创建Statement对象方法有三个:
- createStatement():创建基本的Statement对象
- prepareStatement(String sql):根据传入的SQL语句创建预编译的Statement对象。
- prepareCall(String sql):根据传入的SQL语句创建CallableStatement对象
第四步:使用Statement执行SQL语句。所有Statemet对象都有如下三个方法来执行SQL语句:
- execute:可以执行任何SQL语句,但比较麻烦.
- executeUpate:主要用于执行DML和DDL语句。执行DML返回受SQL语句影响的行数,执行DDL返回0。
- executeQuery:只能执行查询语句,执行后返回代表查询结果的ResultSet对象。
第五步:操作结果集。如果执行的SQL语句是查询语句,执行结果将返回一个ResultSet对象,该对象里保存了SQL语句查询的结果。程序可以通过操作该ResultSet来取出查询结果。ResultSet对象主要提供了两类方法:
- next、previous、first、last、beforeFirst、afterLast、absolute等移动记录指针的方法。
- getXXX获取记录指针指向行,特定列的值。该方法既可以使用列索引作为参数,也可以使用列名作为参数。使用列索引作为参数性能更好,使用列名作为参数,可读性更好!
下面是一段代码,基本上阐述了上面所说的东东:
package jdbc; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class ConnOracle { public static void main(String[] args) {
//首先定义下连接数据的URL、用户名、密码
String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String user="scott";
String password="yulei123"; try {
//1.加载驱动,使用了反射的知识
Class.forName("oracle.jdbc.driver.OracleDriver");
/*
* 使用DriverManager获取数据库连接
* 其中返回的Connection就代表了JAVA程序和数据库的连接
* 不同数据库的URL写法需要查看驱动文档知道,用户名、密码由DBA分配
*/
Connection conn=DriverManager.getConnection(url, user, password);
//使用Connection来创建一个Statement对象
Statement stmt=conn.createStatement();
//执行SQL语句
/*
* Statement有三种执行SQL语句的方法
* 1、execute可执行任何SQL语句 --返回一个boolean值
* 如果执行后,第一个结果是ResultSet,则返回true,否则返回false
* 2、executeQuery 执行select 语句 --返回查询到的结果集
* 3、executeUpdate用于执行DML语句。---返回一个整数,代表被SQL语句影响的记录数
*/
String sql="select e.* from emp e";
ResultSet rs=stmt.executeQuery(sql);
//ResultSet有系列的GetXXX(索引名||列名),用于获取记录指针指向行、特定列的值
//不断的使用next将记录指针下移一行,如果依然指向有效行,则指针指向有效行的记录
while(rs.next()){
//使用索引
System.out.println("员工号:"+rs.getInt(1)+"\t员工姓名:"+rs.getString(2));
//使用列名
System.out.println("员工号:"+rs.getInt("empno")); } } catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} }
}
JDBC 连接Oracle的更多相关文章
- jdbc连接oracle数据库
/*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...
- Linux(Centos)下jdbc连接oracle速度超慢的问题
最近在centos下写个java swing程序,发现在linux用jdbc连接oracle及其缓慢,还经常失败.但是同样的程序在windows下运行就连接的非常快.网上搜索了很长时间都和我这情况没关 ...
- jdbc 连接 oracle rac
jdbc 连接 oracle rac 的连接串如下: jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192. ...
- JDBC连接Oracle数据库的问题
场景:最近做一个java web项目,使用jdbc连接Oracle数据库,遇到了两个问题. 问题1:jdbc连接不上Ubuntu Oracle服务器? 后来发现这个问题的原因是由于连接字符串写错了,修 ...
- JDBC连接Oracle数据库时出现的ORA-12505错误及解决办法
转载至http://www.blogjava.net/itspy/archive/2007/12/20/169072.html Oracle 问题描述:今天使用jdbc连接oracle 10.2.0. ...
- jdbc连接oracle数据库问题
下面是JDBC连接oracle数据库流程: String dbURL = "jdbc:oracle:thin:@url:1521:service_name"; String use ...
- JDBC 连接Oracle 数据库,JDBC 连接Mysql 数据库
首先是JDBC 连接Oracle 数据库 package com.util; import com.pojo.UserInfo; import java.sql.*; public class DB ...
- JAVA通过JDBC连接Oracle数据库详解【转载】
JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...
- JDBC连接ORACLE无法登陆java.sql.SQLException: ORA-01017: invalid username/password; logon denied
当用jdbc连接Oracle数据库的时候 private Connection getConnection() throws SQLException { OracleDataSource ods = ...
- jdbc连接oracle数据库字符串
jdbc连接oracle数据库有两种方式: 连接数据库SID 连接数据库service_name 当连接SID时,字符串如下: url::orcl1" password="xxxx ...
随机推荐
- 学习Tensorflow,反卷积
在深度学习网络结构中,各个层的类别可以分为这几种:卷积层,全连接层,relu层,pool层和反卷积层等.目前,在像素级估计和端对端学习问题中,全卷积网络展现了他的优势,里面有个很重要的层,将卷积后的f ...
- Servlet配置与资源参数
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; // 继承HttpServlet 类 public cla ...
- 【Unity Shaders】Shader中的光照
写在前面 自己写过Vertex & Fragment Shader的童鞋,大概都会对Unity的光照痛恨不已.当然,我相信这是因为我们写得少...不过这也是由于官方文档对这方面介绍很少的缘故, ...
- linux qcom LCD framwork
点击打开链接 0.关键字 MDSS : Multimedia Display sub system DSI: Display Serial Interface 1.涉及文件 (1) drivers\v ...
- Android初级教程获取手机系统联系人信息
在手机内部,对联系人信息存在对应的数据库.我们创建的而联系人信息都存在这张表中.如下是对数据库的截图,我已经对表和应该注意的地方做了红笔标注: 好了,现在可以根据数据库里面的数据来写代码了. 代码如下 ...
- 再谈机器学习中的归一化方法(Normalization Method)
机器学习.数据挖掘工作中,数据前期准备.数据预处理过程.特征提取等几个步骤几乎要花费数据工程师一半的工作时间.同时,数据预处理的效果也直接影响了后续模型能否有效的工作.然而,目前的大部分学术研究主要集 ...
- Android的原始资源Raw和Assert资源的使用-android学习之旅(五十七)
代码示例 public class MainActivity extends Activity{ MediaPlayer mediaPlayer1,mediaPlayer2; @Override pr ...
- Android数据库框架——GreenDao轻量级的对象关系映射框架,永久告别sqlite
Android数据库框架--GreenDao轻量级的对象关系映射框架,永久告别sqlite 前不久,我在写了ORMLite这个框架的博文 Android数据库框架--ORMLite轻量级的对象关系映射 ...
- 【一天一道LeetCode】#86. Partition List
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...
- Java由先序序列和中序序列还原二叉树
还原本来的二叉树并不是一个非常简单的事,虽然思想比较简单,但过程却是比较繁琐.下面我拿先序序列和中序序列来讲一下原理吧. 从先序序列中我们一下子就可以得到二叉树的根节点是第一个元素,然后再中序序列中我 ...