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. ACL权限控制列表

    1.查看文件系统是否支持ACL (xfs文件系统强制开启ACL,如果该分区已格式化为xfs,在使用dumpe2fs会看不到superblocks信息)zheng@ubuntu16:~$ sudo du ...

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

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

  3. Why I donot give up cnblogs for Jianshu

    我为什么不放弃博客园使用简书 Why I donot give up cnblogs for Jianshu Chapter0 从2016年8月开始接触简书开始,就有些喜欢上简书了,因为简书支持 ma ...

  4. java继承和多态举例

    public class Test1 { public static void main(String[] args) { System.out.println(new Dog().name);//狗 ...

  5. TCON板新选择--NCS8807 LVDS转mLVDS芯片

    NCS8807 LVDS-to-mLVDS w/ Scaler (4K TCON w/ Scaler) General Description NCS8807 is an LVDS 4K TCON w ...

  6. 扩展GridView实现无数据处理

    提出需求 GridView控件在开发后台管理的时候非常方便快速,但是要实现没有数据时显示“没有数据”,并居中,是一件比较麻烦的事情,这里在一个公开的方法里实现了绑定List<T>和Data ...

  7. vue.js移动端app实战4:上拉加载以及下拉刷新

    上拉加载以及下拉刷新都是移动端很常见的功能,在搜索或者一些分类列表页面常常会用到. 跟横向滚动一样,我们还是采用better-scroll这个库来实现.由于better已经更新了新的版本,之前是0.几 ...

  8. Zookeeper和 Google Chubby对比分析

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt375 随着云计算的推广,云平台的设计和实现越来越复杂,很多系统属性如一致性和 ...

  9. 西门子 PLC SFC14/15 80B1故障

    SFC14/15 S7-300/400/1500 PLC中,SFC14/15用于将分站的IO数据批量读取到DB块中.MOVE(L T)指令只能最多传送4byte.因此,使用SFC14/15能够简化程序 ...

  10. 为什么说汽车VIN码是汽车唯一的"身份证"

    人有身份证,那么车有吗?当然了,汽车也是有"身份证"的,出厂时就会跟着车辆一起出生, 一般在车辆的挡风玻璃处.按照国际SAE国际规定,Vin码由17位字符组成,其中包含了车辆的生产 ...