import java.sql.*;
import java.util.ArrayList;
import java.util.List; //使用jdbc连接
public class TestOra { public static void main(String[] args) {
// TODO Auto-generated method stub BaseDao basedao = new BaseDao();
Connection conn = basedao.getConnection();
basedao.add(conn);
basedao.delete(conn);
basedao.update(conn);
basedao.query(conn);
basedao.close();
}
} class BaseDao {
private static String url = "jdbc:oracle:thin:@localhost:1521:orcl";
private static String user = "c##scott";
private static String password = "tiger";
private Connection conn;
private static Statement sm;
private static ResultSet rs;
private static String sql; // 连接数据库函数 
public Connection getConnection() {
try {
// 初始化驱动包
Class.forName("oracle.jdbc.OracleDriver");
// 根据数据库连接字符,名称,密码给conn
System.out.println("开始尝试连接数据库!");
conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
} // 查询函数
public void query(Connection conn) {
sql = "select * from EMP";
try {
sm = conn.createStatement();
rs = sm.executeQuery(sql);
while (rs.next()) {
System.out.println("ID: " + rs.getString(1) + "\tNAME: "
+ rs.getString(2) + "\tAGE: " + rs.getString(3));
}
} catch (Exception e) {
e.printStackTrace();
} } // 添加表数据
public void add(Connection conn) {
sql = "insert into EMP(ID,NAME,AGE)" + " values ('0005','lucyyyy','14')";
try {
sm = conn.createStatement();
sm.executeUpdate(sql);
System.out.println("添加成功");
} catch (Exception e) {
e.printStackTrace();
}
} // 删除数据
public void delete(Connection conn) {
sql = "delete from EMP " + "where ID='2'";
try {
sm = conn.createStatement();
sm.executeUpdate(sql);
System.out.println("删除成功");
} catch (Exception e) {
e.printStackTrace();
}
} // 修改数据
public void update(Connection conn) {
sql = "update EMP set ID='2' where NAME='lucy'";
try {
sm = conn.createStatement();
sm.executeUpdate(sql);
System.out.println("更新成功");
} catch (Exception e) {
e.printStackTrace();
}
} public void close() {// 6.释放资源
try { // 捕捉异常
try {
if (rs != null) { // 当ResultSet对象的实例rs不为空时
rs.close(); // 关闭ResultSet对象
}
} finally {
try {
if (sm != null) { // 当Statement对象的实例stmt不为空时
sm.close(); // 关闭Statement对象
}
} finally {
if (conn != null) { // 当Connection对象的实例conn不为空时
conn.close(); // 关闭Connection对象
}
}
}
} catch (Exception e) {
e.printStackTrace(System.err); // 输出异常信息
}
}
}

java实现oracle数据库基本操作的更多相关文章

  1. Java备份Oracle数据库

    Java备份Oracle数据库 Java线程.Process.ProcessBuilder 2010 年 6 月 20 日 文章内容描述了使用Java执行外部Oracle导出命令备份数据库功能的示例, ...

  2. Java读取oracle数据库中blob字段数据文件保存到本地文件(转载)

    转自:https://www.cnblogs.com/forever2698/p/4747349.html package com.bo.test; import java.io.FileOutput ...

  3. Oracle数据库基本操作(一) —— Oracle数据库体系结构介绍、DDL、DCL、DML

    一.Oracle数据库介绍 1.基本介绍 Oracle数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/ ...

  4. oracle入门(5)——java连接oracle数据库

    [本文介绍] 前面几篇说了那么多,最终还没讲到如何用java连接数据库,本文实用一点,讲讲如何连接数据库. [java连接oracle数据库] 1.导入jdbc驱动:看到这里,就忙着上网找驱动?不,安 ...

  5. Java连接Oracle数据库的三种连接方式

    背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...

  6. Oracle数据库基本操作 (五) —— 使用java调用存储过程

    一.环境准备 登录Oracle数据库scott账号,利用emp进行操作. 1.创建 proc_getyearsal 存储过程 -- 获取指定员工年薪 create or replace procedu ...

  7. Java实现Oracle数据库备份

    今天将很早就实现的一个Oracle数据库备份功能粘贴出来,这个功能是在大学做阶段设计时写的: import java.io.File; import java.io.IOException; /** ...

  8. java连接Oracle数据库

    Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...

  9. java向oracle数据库中插入当前时间

    public class Test{public static void main (String args []){ java.util.Date a = new java.util.Date(); ...

随机推荐

  1. C/C++ 对优先级与结合性的理解

    优先级与结合性是指运算符与操作数的"紧密程度":   结合性表明了同一优先级的运算符对同一操作数的紧密程度:   如: a=b=c: 赋值运算符的结合性为从右至左: 所以a=b=c ...

  2. 将Windows系统默认的Administrator帐号改名为我们自定义的名称

    将Windows系统默认的Administrator帐号改名为我们自定义的名称.. ---------如何将Administrator帐号改名为我们自定义的名称:Win+R--->>输入g ...

  3. 奇货商城重构——webpack自动化工程

    近几年,前端各种框架工具层出不穷,从两三年前还是一个jQuery搞定全站,到之后requirejs/seajs,node,gulp/webpack,Angular/React/Vue,RN/weex的 ...

  4. JavaScript封装一个实用的select控件

    最近一直把精力放在项目上面,导致忽略的一些底层的东西.以前就一直觉得原有的select控件很丑,正好周末有时间,试着做了一个简单封装,实现了它的基本功能.我总结了一下,大概分为三个部分: 1.对显示样 ...

  5. JSP的getRequestDispatcher()与sendRedirect()的区别

    getRequestDispatcher()与sendRedirect()的区别   1.request.getRequestDispatcher()是请求转发,前后页面共享一个request ; r ...

  6. 关于idea的使用心得

    开发java多年,所在的项目组一直都在使用的eclipse或者myeclipse,今天偶然的机会接触到了idea,感觉优化的确实不错,下面是我的一些使用心得:

  7. JSP入门必读

    JSP基础知识:转自老师上课梳理的笔记,希望对大家有所帮助.有什么不妥当的地方还望大家批评指正. 特别适用于JSP入门的人员使用.1.JSP [1] 简介1.1 HTML    HTML擅长显示一个静 ...

  8. h5drag事件

    在拖动目标上触发事件 (源元素):ondragstart - 用户开始拖动元素时触发ondrag - 元素正在拖动时触发ondragend - 用户完成元素拖动后触发释放目标时触发的事件:ondrag ...

  9. CSS3四个自适应关键字——fill-available、max-content、min-content、fit-content

    前面的话 一般地,有两种自适应:撑满空闲空间与收缩到内容尺寸.CSS3将这两种情况分别定义为'fill-availabel'和'fit-content'.除此之外 ,还新增了更细粒度的'min-con ...

  10. 使用XmlWriter创建XML文件

    using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Xml ...