eclipse怎么jdbc连接oracle数据库库

> Eclipse连接Oracle11g数据库前怎么配置它的环境变量
Eclipse连接Oracle11g数据库前怎么配置它的环境变量
wangnian & &
发布时间: & &
浏览:2 & &
回复:2 & &
悬赏:0.0希赛币
Eclipse连接Oracle11g数据库前如何配置它的环境变量?我没有配置所以运行时出现以下错误java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
library中加入oracle jdbc包
wangning1986 & &
11:05:07 & &
& & (0)(0)引用
这是你的项目中没有Oracle的JDBC驱动的原因。你的项目-&右键-&项目属性-&XXXX,添加Oracle的JDBC驱动的jar文件。wangnianxi & &
11:05:07 & &
& & (0)(0)引用
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&JDBC(用Eclipse操作数据库Oracle)的基础操作集合
JDBC( Data Base Connectivity,java连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
使用Eclipse来操作数据库有六个步骤:
1 加载驱动
2 获取链接对象
3 创建语句对象
4 循环取得结果集
5 再循环中数据类型转换
6 关闭资源
接下来做一些简单的JDBC代码实例:
注:下面的代码我用是throws Exception来抛出异常,会使结构不太严谨,因为是初学,所有没有贴出严谨结构的代码,会在最后补充。
import java.sql.C
import java.sql.DriverM
import java.sql.ResultS
import java.sql.SQLE
public class JDBC {
public static void main(String[] args) throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException {
//产生JDBC Driver对象,三种方法
Class.forName(&oracle.jdbc.driver.Driver&).newInstance();
new oracle.jdbc.driver.OracleDriver();
Class.forName(&oracle.jdbc.driver.OracleDriver&);//这个Driver的实例化在构建过程中会自动向DriverManager自动注册
//连接数据库
Connection conn = DriverManager.getConnection(&jdbc:oracle:thin:@127.0.0.1:1521:orcl&,&#scott&,&root&);//拿到数据库的链接
//创建语句对象statement,作用:调用方法向数据库传递SQL语句,并接受数据库返回的结果集
java.sql.Statement sts = conn.createStatement();
ResultSet rs = sts.executeQuery(&select * from a_tab&); //在第一条记录的前一位,
rs.next();
//循环取得结果集
while (rs.next()) {
//转化数据类型
System.out.print(rs.getInt(&id&) + & &);
System.out.print(rs.getString(&name&) + & &);
System.out.println(rs.getString(&ad&) + & &);
//关闭资源
rs.close();
sts.close();
conn.close();
循环取得结果集:
100 Wing XT
123 xiaoxiao beijing&
120 xiaoxiao beijing&
10001 hello0 addbatch
10001 hello0 addbatch
10001 hello0 addbatch
100 hello transaction
101 hello transaction
103 hello transaction
往数据库中添加数据:
import java.sql.C
import java.sql.DriverM
import java.sql.S
public class JDBC_03{
public static void main(String[] args) throws Exception{
//1 加载驱动
就是实例化链接对象
Class.forName(&oracle.jdbc.driver.OracleDriver&);
//2 获取数据库的链接
Connection conn = DriverManager.getConnection(&jdbc:oracle:thin:@127.0.0.1:1521:orcl&, &c##scott&, &root&);
//3 创建语句对象
传输语句并执行
还要接收返回的结果集
Statement ss = conn.createStatement();
String sql =&insert into a_tab values(123,'xiaoming','beijing')&;
System.out.println(sql);
ss.execute(sql);
//6 关闭资源
ss.close();
conn.close();
换一种方法:
import java.sql.C
import java.sql.DriverM
import java.sql.SQLE
import java.sql.S
import oracle.jdbc.OracleD
public class JDBC_04 {
public static void main(String[] args) throws SQLException{
if (args.length != 3) {
System.out.println(&请输入三个值&);
System.exit(1);
int id = Integer.parseInt(args[0]);
String name = args[1];
String ad = args[2];
//加载驱动
new OracleDriver();
//获取链接,
Connection conn = DriverManager.getConnection(&jdbc:oracle:thin:@127.0.0.1:1521:orcl&, &c##scott&, &root&);
//创建语句
Statement st = conn.createStatement();
String sql = &insert into a_tab values('&+ id + &','&+ name +&','&+ ad +&')&;
System.out.println(sql);
st.executeUpdate(sql);
//关闭资源
st.close();
conn.close();
使用batch来添加:
import java.sql.C
import java.sql.DriverM
import java.sql.PreparedS
import java.sql.S
import oracle.jdbc.driver.OracleD
public class JDBC_06 {
public static void main(String[] args) throws Exception{
//加载驱动
new OracleDriver();
//连接数据库
Connection conn = DriverManager.getConnection(&jdbc:oracle:thin:@127.0.0.1:1521:orcl&, &c##scott&, &root&);
//创建语句
Statement stmt = conn.createStatement();
stmt.addBatch(&insert into a_tab values(10001,'hello0','addbatch')&);
stmt.addBatch(&insert into a_tab values(10001,'hello0','addbatch')&);
stmt.addBatch(&insert into a_tab values(10001,'hello0','addbatch')&);
/*PreparedStatement st = conn.prepareStatement(&insert into a_tab values(?,?,?)&) ;
st.setInt(1, 123);
st.setString(2, &xiaoxiao&);
st.setString(3, &beijing&);
st.addBatch();
st.setInt(1, 120);
st.setString(2, &xiaoxiao&);
st.setString(3, &beijing&);
st.addBatch();
st.executeBatch();
stmt.executeBatch();
stmt.close();
conn.close();
使用事务:
import java.sql.C
import java.sql.DriverM
import java.sql.ResultS
import java.sql.S
import oracle.jdbc.OracleD
public class JDBC_08 {
public static void main(String[] args) throws Exception{
//加载驱动
new OracleDriver();
//链接对象
Connection conn = DriverManager.getConnection(&jdbc:oracle:thin:@127.0.0.1:1521:orcl&,&c##scott&,&root&);
//传输对象
Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);//并发只读模式
//如果没有第一个参数
只能用resultset里面的next();
//有了这个参数 就能用所有方法
ResultSet rs = st.executeQuery(&select * from a_tab&);
rs.next();//从头顶进入第一行
System.out.println(rs.getInt(1));//第一行第一列
System.out.println(rs.getString(2));
System.out.println(rs.getString(3));
System.out.println(rs.getString(1));
System.out.println(&----------------&);
rs.last();
System.out.println(rs.getInt(&id&));
System.out.println(rs.isLast() + &-----&);
rs.absolute(2);
System.out.println(rs.getInt(1) + &absolute 2&);
rs.previous();
System.out.println(rs.getInt(1) + &previous&);
最后来个集合,对数据的基本操作:
import java.sql.C
import java.sql.DriverM
import java.sql.ResultS
import java.sql.S
import oracle.jdbc.driver.OracleD
import oracle.net.aso.s;
public class JDBC_09 {
public static void main(String[] args) throws Exception{
//加载驱动
new OracleDriver();
//链接对象
Connection conn = DriverManager.getConnection(&jdbc:oracle:thin:@127.0.0.1:1521:orcl&,&c##scott&,&root&);
//传输对象
Statement sts = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);//并发可更新
//结果集对象
ResultSet rs = sts.executeQuery(&select ID,NAME,AD from a_tab&);
//结果处理
rs.next();
rs.updateInt(1, 9900);//第一个字段,9999
rs.updateString(&NAME&, &aobama&);
rs.updateString(&AD&, &baigong&);
//rs.insertRow();//把这行插入结果集和数据库
rs.moveToCurrentRow();//把光标移动到新建的行
rs.absolute(2);//移动到指定行
rs.deleteRow();//删除改行
rs.updateString(&NAME&, &newyue&);//更改内存中的数据集中的数据
rs.updateRow();//把更改的数据更新到数据库中
rs.close();
sts.close();
conn.close();
严谨代码(以后工作中要使用严谨的代码结构,否则会被老板骂死的):
import java.sql.C
import java.sql.DriverM
import java.sql.ResultS
import java.sql.SQLE
import java.sql.S
import org.M_FAILURE;
* try catch
* ClassNotFoundException
SQLException
* oracle\product\12.1.0\dbhome_1\jdbc\lib 把这个目录下面的 ojdbc7.jar 拿到 当前项目中 --
* 简单使用jdbc 6步 :
* 1 加载驱动
* 2 获取链接/或者说链接数据库
* 3 创建语句对象 statement 作用:
* 4 循环取得结果集
* 5在循环结果集中数据类型进行转换
* 6 关闭资源
public class JDBC_00_Decktop {
public static void main(String[] args) {
Connection conn =
Statement stmt =
ResultSet rs =
//&一& 产生JDBC driver对象 就是说 加载驱动 有三种方法
//1.1 forName句柄 加载文件 获取实例
Class.forName(&oracle.jdbc.driver.OracleDriver&).newInstance();
//1.2 跟上面一样
//这个Driver实例在构建过程中会向DriverManager里面自动注册,不用自己管
Class.forName(&oracle.jdbc.driver.OracleDriver&);
//1.3 直接实例化
new oracle.jdbc.driver.OracleDriver();
//&二& 连接数据库 --- 就是通过DriverManager的获取链接方法 传过去三个函数,数据库路径 用户名
conn = DriverManager.getConnection(&jdbc:oracle:thin:@127.0.0.1:1521:orcl&, &system&, &root&);
//&三& 创建语句对象 Statement 作用:调用方法向数据库传递SQL语句,并接收返回的结果集。
stmt = conn.createStatement();
//----结果集怎么获取
rs = stmt.executeQuery(&select * from c##scott.emp&);//字符串内不用加分号
//rs 在第一条记录的上方
//rs.next();//返回的是boolean型
System.out.println(&EMPNO
//&四& 循环获取结果集
while (rs.next()) {
//&五& 在循环中把数据类型进行转换得到自己想要的数据类型(java对应的数据类型)
其实我们可以随意转换,只要不失去精度就可以
System.out.print(rs.getString(&empno&)+&
System.out.print(rs.getString(&ename&)+&
System.out.print(rs.getString(&job&)+&
System.out.print(rs.getInt(&mgr&)+&
System.out.print(rs.getString(&hiredate&)+&
System.out.print(rs.getInt(&sal&)+&
System.out.print(rs.getInt(&comm&)+&
System.out.println(rs.getInt(&deptno&)+&
} catch (Exception e) {
e.printStackTrace();
if (rs != null) {
rs.close();
if (stmt != null) {
stmt.close();
if (conn != null) {
conn.close();
}catch (SQLException e2) {
e2.printStackTrace();
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'oracle(4)
Eclipse(4)
//1.加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver")
Connection conn =DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger")
Statement sm=conn.createStatement()
ResultSet rs=sm.executeQuery("select * from emp")
while(rs.next())
System.out.println("用户名:"+rs.getString(2))
rs.close()
sm.close()
conn.close()
}catch(Exception e){
e.printStackTrace()
遇到错误:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
这个提示的错误,是JDBC的驱动没有加载到project中。
解决方案:
1、找到数据库的安装文件的JDBC文件,
D:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib
将这个路径添加到环境变量的Path里面。
右击我的电脑-&高级-&环境变量,在系统变量里面的path将上面的路径添加进去
2、然后将D:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib目录下的jar文件添加到项目中。右击项目–》properties
3.运行程序
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:6281次
排名:千里之外
原创:28篇
转载:12篇
(1)(3)(1)(10)(11)(4)(7)(4)<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&}

我要回帖

更多关于 eclipse连不上数据库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信