java实现oracle数据库基本操作
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数据库基本操作的更多相关文章
- Java备份Oracle数据库
Java备份Oracle数据库 Java线程.Process.ProcessBuilder 2010 年 6 月 20 日 文章内容描述了使用Java执行外部Oracle导出命令备份数据库功能的示例, ...
- Java读取oracle数据库中blob字段数据文件保存到本地文件(转载)
转自:https://www.cnblogs.com/forever2698/p/4747349.html package com.bo.test; import java.io.FileOutput ...
- Oracle数据库基本操作(一) —— Oracle数据库体系结构介绍、DDL、DCL、DML
一.Oracle数据库介绍 1.基本介绍 Oracle数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/ ...
- oracle入门(5)——java连接oracle数据库
[本文介绍] 前面几篇说了那么多,最终还没讲到如何用java连接数据库,本文实用一点,讲讲如何连接数据库. [java连接oracle数据库] 1.导入jdbc驱动:看到这里,就忙着上网找驱动?不,安 ...
- Java连接Oracle数据库的三种连接方式
背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...
- Oracle数据库基本操作 (五) —— 使用java调用存储过程
一.环境准备 登录Oracle数据库scott账号,利用emp进行操作. 1.创建 proc_getyearsal 存储过程 -- 获取指定员工年薪 create or replace procedu ...
- Java实现Oracle数据库备份
今天将很早就实现的一个Oracle数据库备份功能粘贴出来,这个功能是在大学做阶段设计时写的: import java.io.File; import java.io.IOException; /** ...
- java连接Oracle数据库
Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...
- java向oracle数据库中插入当前时间
public class Test{public static void main (String args []){ java.util.Date a = new java.util.Date(); ...
随机推荐
- python自动化运维五:pexpect
p { margin-bottom: 0.25cm; line-height: 120% } a:link { } pexpect是expect的封装,可以实现ssh,ftp,passwd,telne ...
- R的数据图形
R支持4种图形类型: base graphics, grid graphics, lattice graphics, ggplot2. Base graphics是R的默认图形系统. 一. 基本图 ...
- [2012-06-21]结合find的awk
源起:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3754423&page=1&extra=#pid221729 ...
- css基础:样式属性
1.背景与前景:background-color::背景色,样式表优先级高. background-image:url(路径):设置背景图片 background-attachment:fixed:背 ...
- iOS 微信支付流程详解
背景 自微信支付.支付宝支付入世以来,移动端的支付日渐火热.虚拟货币有取代实体货币的趋向(这句纯属扯淡,不用管),支付在app开发中是一项基本的功能,有必要去掌握.从难易程度上讲,不管是微信支付还是支 ...
- 开源分享 Unity3d客户端与C#分布式服务端游戏框架
很久之前,在博客园写了一篇文章,<分布式网游server的一些想法语言和平台的选择>,当时就有了用C#做网游服务端的想法.写了个Unity3d客户端分布式服务端框架,最近发布了1.0版本, ...
- REST:JAX-RS 与 Spring
原文:https://developer.okta.com/blog/2017/08/09/jax-rs-vs-spring-rest-endpoints 作者:Brian Demers 译者:htt ...
- Python 多线程库总结
多线程库总结 基于线程的并行性 threading模块 下面是一些基础函数,函数包括: 函数 threading.active_count() threading.current_thread() t ...
- RadioButtonList控件如何取得选中的值
1.需求:我现在页面上有放两个单选控件,现在要通过判断不同的单选控件来对页面上的标签进行显示和隐藏操作 2.控件如下 <asp:RadioButtonList ID=" RepeatD ...
- 使用JSR-303进行校验 @Valid
一.在SringMVC中使用 使用注解 1.准备校验时使用的JAR validation-api-1.0.0.GA.jar:JDK的接口: hibernate-validator-4.2.0.Fina ...