目录

1.先在Oracle数据库中创建一个student表:

2.向表中增添一些数据

1.将ojdbc6.jar导入项目中

2.创建一个类,开始编码

3.创建一个测试类


Oracle数据库先创建一个表和添加一些数据

1.先在Oracle数据库中创建一个student表:

1 create table student
2 (
3        id number(11) not null primary key,
4        stu_name varchar(16) not null,
5        gender number(11) default null,
6        age number(11) default null,
7        address varchar(128) default null
8 );

2.向表中增添一些数据

insert into student values('1','王小军','1','17','30号102')+

MyEclipse里编写java代码

1.将ojdbc6.jar导入项目中

先创建一个项目,然后在鼠标移到项目上右键-->new-->folder;folder name:lib;这样就在项目中创建了一个文件夹lib;然后将ojdbc6.jar包导入该文件夹中

鼠标移到该包上;右键-->build path-->add to build path;

2.创建一个类,开始编码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;public class OperateOracle {// 定义连接所需的字符串// 192.168.0.X是本机地址(要改成自己的IP地址),1521端口号,XE是精简版Oracle的默认数据库名private static String USERNAMR = "orcl";private static String PASSWORD = "orcl";private static String DRVIER = "oracle.jdbc.OracleDriver";private static String URL = "jdbc:oracle:thin:@192.168.0.X:1521:xe";// 创建一个数据库连接Connection connection = null;// 创建预编译语句对象,一般都是用这个而不用StatementPreparedStatement pstm = null;// 创建一个结果集对象ResultSet rs = null;/*** 向数据库中增加数据* 首先获取表内数据总数,总数+1为新增数据的id值* @param stuName:学生姓名* @param gender:学生性别,1表示男性,2表示女性* @param age:学生年龄* @param address:学生住址*/public void AddData(String stuName, int gender, int age, String address) {connection = getConnection();// String sql =// "insert into student values('1','王小军','1','17','30号楼7门102')";String sql = "select count(*) from student where 1 = 1";String sqlStr = "insert into student values(?,?,?,?,?)";int count = 0;try {// 计算数据库student表中数据总数pstm = connection.prepareStatement(sql);rs = pstm.executeQuery();while (rs.next()) {count = rs.getInt(1) + 1;System.out.println(rs.getInt(1));}// 执行插入数据操作pstm = connection.prepareStatement(sqlStr);pstm.setInt(1, count);pstm.setString(2, stuName);pstm.setInt(3, gender);pstm.setInt(4, age);pstm.setString(5, address);pstm.executeUpdate();} catch (SQLException e) {e.printStackTrace();} finally {ReleaseResource();}}/*** 向数据库中删除数据* @param stuName:根据姓名删除数据*/public void DeleteData(String stuName) {connection = getConnection();String sqlStr = "delete from student where stu_name=?";System.out.println(stuName);try {// 执行删除数据操作pstm = connection.prepareStatement(sqlStr);pstm.setString(1, stuName);pstm.executeUpdate();} catch (SQLException e) {e.printStackTrace();} finally {ReleaseResource();}}/*** 向数据库中修改数据* @param stuName:学生姓名,根据此值查询要修改的某行值* @param gender* @param age* @param address*/public void UpdateData(String stuName, int gender, int age, String address) {connection = getConnection();String sql = "select id from student where 1 = 1 and stu_name = ?";String sqlStr = "update student set stu_name=?,gender=?,age=?,address=? where id=?";int count = 0;try {// 计算数据库student表中数据总数pstm = connection.prepareStatement(sql);pstm.setString(1, stuName);rs = pstm.executeQuery();while (rs.next()) {count = rs.getInt(1);System.out.println(rs.getInt(1));}// 执行插入数据操作pstm = connection.prepareStatement(sqlStr);pstm.setString(1, stuName);pstm.setInt(2, gender);pstm.setInt(3, age);pstm.setString(4, address);pstm.setInt(5, count);pstm.executeUpdate();} catch (SQLException e) {e.printStackTrace();} finally {ReleaseResource();}}/*** 向数据库中查询数据*/public void SelectData() {connection = getConnection();String sql = "select * from student where 1 = 1";try {pstm = connection.prepareStatement(sql);rs = pstm.executeQuery();while (rs.next()) {String id = rs.getString("id");String name = rs.getString("stu_name");String gender = rs.getString("gender");String age = rs.getString("age");String address = rs.getString("address");System.out.println(id + "\t" + name + "\t" + gender + "\t"+ age + "\t" + address);}} catch (SQLException e) {e.printStackTrace();} finally {ReleaseResource();}}/*** 使用ResultSetMetaData计算列数*/public void SelectData2() {connection = getConnection();String sql = "select * from employees where 1 = 1";int count = 0;try {pstm = connection.prepareStatement(sql);rs = pstm.executeQuery();while (rs.next()) {count++;}ResultSetMetaData rsmd = rs.getMetaData();int cols_len = rsmd.getColumnCount();System.out.println("count=" + count + "\tcols_len=" + cols_len);} catch (SQLException e) {e.printStackTrace();} finally {ReleaseResource();}}/*** 获取Connection对象* * @return*/public Connection getConnection() {try {Class.forName(DRVIER);connection = DriverManager.getConnection(URL, USERNAMR, PASSWORD);System.out.println("成功连接数据库");} catch (ClassNotFoundException e) {throw new RuntimeException("class not find !", e);} catch (SQLException e) {throw new RuntimeException("get connection error!", e);}return connection;}/*** 释放资源*/public void ReleaseResource() {if (rs != null) {try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if (pstm != null) {try {pstm.close();} catch (SQLException e) {e.printStackTrace();}}if (connection != null) {try {connection.close();} catch (SQLException e) {e.printStackTrace();}}}
}

3.创建一个测试类

public class Test {public static void main(String[] args) {/*** 增删改查完成,但是有一定局限性* 1.增  问题不大* 2.删  要给出一个值去删除(可能值不存在-->没有处理机制,值不唯一怎么处理?)* 3.改  同删的问题* 4.查  问题不大*///创建OperateOracle对象OperateOracle oo=new OperateOracle();//测试增加数据操作//oo.AddData("孙",1,25,"111号");//测试删除数据操作//oo.DeleteData("孙");//测试更新数据操作oo.UpdateData("孙",1,30,"11号");//测试查询数据操作//oo.SelectData();//测试ResultSetMetaData类//oo.SelectData2();}}

正如测试类中所注释的,此处只可按照正确的方式去连接Oracle数据库,操作增删改查操作,但是对于一些错误操作的处理机制还不够完善。

java操作oracle数据库 代码案例相关推荐

  1. Java操作oracle数据库

    //创建数据库连接 Connection connection = null; //设置 PreparedStatement ps=null; PreparedStatement ps2=null; ...

  2. java oracle数据库连接代码,java连接oracle数据库代码实例(注释详解)

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...

  3. c odp.net连oracle,.NET Core 使用ODP.NET Core连接操作Oracle数据库

    1、使用必要条件 1) 安装Microsoft Visual Studio 2017或更高版本. 2) 安装Oracle Database 12c或更高版本. 2、ODP.NET Core安装配置 在 ...

  4. java mysql nclob_java语言操作Oracle数据库中的CLOB数据类型 (转)

    java语言操作Oracle数据库中的CLOB数据类型 (转)[@more@] 有关字段类型的相关信息可以查阅oracle技术网.下面摘抄一些有关blob.clob等类型的说明.又便于大家的了解. 字 ...

  5. Java操作Access数据库使用方法及案例 及 所需jar包【源码及jar包在最后下载】

    目录 写在前面 数据库编辑软件MDBplus.exe SQL查询语句的差异 字符串转数字 字符串转日期 示例:如下图打开SQL编辑窗口 源码及jar包下载地址 写在前面 最近接了一个项目,就是个简单的 ...

  6. Java操作Oracle

    Java操作Oracle PS:之前写的关于Java操作SQLserver数据库的博客和数据库基础的博客http://blog.csdn.net/q547550831/article/details/ ...

  7. java中oracle.链接,java连接Oracle数据库的方法解析

    本文主要对java连接Oracle数据库方法进行步骤解析,具有很好的参考价值,需要的朋友一起来看下吧 Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表 ...

  8. mybatis操作Oracle数据库批量插入与更新、运行注意事项、属性含义

    一.项目需求 针对将近300万用户的用电数据进行统计分析,将结果更新保存Oracle数据库.我需要往一个表里面插入数据,数据量总计在500万条左右.一条一条插入的话非常慢,2万条数据近20分钟,后面就 ...

  9. Java连接Oracle数据库(详细!快速上手)

    Java连接Oracle数据库及封装JDBC 如果你点开看到了这篇文章,说明你已经或多或少地通过学校学习亦或是自学了解了 oracle 数据库的基本用法.但是实际在开发程序的时候,我们是不可能手动地去 ...

最新文章

  1. 6.2 sql安全性
  2. AutoConfig工具使用
  3. 【综述】MV3D-Net、AVOD-Net 用于自动驾驶的多视图3D目标检测网络
  4. Nginx 配置 SSL 证书步骤小记
  5. Java 线程详解(一)线程的基础
  6. 继续发布分页类的BLL层和Interface层部分哈
  7. C Tricks(十)—— str2int vs int2str
  8. php结合nginx,mysql
  9. ETL调度开发(5)——连接数据库运行数据库命令子程序
  10. 超硬核十万字!全网最全 数据结构 代码,随便秒杀老师/面试官,我说的
  11. 【教程】创建活动报名二维码(活动报名/会议签到扫码,带微信手机号认证)
  12. java实战小结-Controller报错:Content type ‘multipart/form-data;boundary=----WebKitFormBoundaryxxxx not supp
  13. [渝粤教育] 北京化工大学 自然辩证法概论 参考 资料
  14. 一个开源音乐播放器,低仿QQ音乐!
  15. 用c++写一个简单的钓鱼(集卡)程序
  16. Debian系统源码安装usb网卡驱动
  17. 从零开始自学微信小程序(一)
  18. CSS3,渐变效果(线性渐变,径向渐变,重复渐变),实现各种背景效果。
  19. 解析八核Cortex-A55+ 24路1080解码能力的AI模组
  20. 软件设计模式(观察者模式)——模拟股票价格变动并绘制分时图和K线图

热门文章

  1. uni-app目录结构介绍
  2. mysql分页是物理分页_学习MySQL:什么是分页
  3. azure云数据库_如何将MySQL表迁移到Microsoft Azure SQL数据库
  4. oracle ola_Ola HallengrenSQL Server维护解决方案–索引和统计信息维护
  5. 实验十一 团队作业7:团队项目设计完善编码
  6. input 输入速度和方向判断、搜索功能的延迟请求
  7. 读大道至简第五章有感
  8. [妙味Ajax]第一课:原理和封装
  9. time_t转换为DateTime
  10. hdu-3488-Tour(KM最佳完美匹配)