使用IDEA对Oracle数据库进行简单增删改查操作_oracle

来源:脚本之家  责任编辑:小易  

1.1 Java中的数据存储技术

在Java中,数据库存取技术可分为如下几类:
1、JDBC直接访问数据库
2、JDO(Java Data Object)是Java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化API。
3、第三方O/R 比如Hibernate,Mybatis等

JDBC是java访问数据库的基石,JDO、Hibernate、MyBatis,JDO,Hibernate、MyBatyis等只是更好的封装的JDBC。
最近用idea连接Oracle数据库 并且实现增删改操作的时候,遇到的一些问题在这里跟大家分享一下。
首先,idea连接连接数据库,都需要进行Connnection,也就是需要jdbc(Java database connection)
在进行连接之前,最先要做的事情就是导入对应所使用的数据库的jar包。(常见的数据库有MySQL,Oracle,SQLServer等等)
举个例子:
我要连接Oracle数据库,就到Oracle的官网上下载对应的jar包,当引入jar包下面出现小三角的时候,就说明导包成功!!

在这里插入图片描述

第一步成功,我们套用jdbc的代码,基本上这个大家都能明白,咱也可以把它封装在一个类里边,必要的时候拿过来使用。
如下代码所示: 注意看代码的注释!!

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
//与数据库建立连接
public class ConnectionTest {
  //获取连接的三个基本信息
  private String dbURL = "jdbc:oracle:thin:@localhost:1521:orcl";
  private String dbUser = "test";
  private String dbPwd = "test";
  // 获取数据库连接方法, 返回Connection对象
  private Connection con = null;
  //创建数据库连接
  public Connection getDBConnect() {
    try {
      // 加载数据库驱动 不同的数据库下面这个驱动是不同的,这个千万要注意!!!
      Class.forName("oracle.jdbc.driver.OracleDriver");
      con = DriverManager.getConnection(dbURL, dbUser, dbPwd);
    } catch (Exception e) {
      System.out.println(e);
    }
    return con;
  }
}

然后我们写一个主方法测试一下:也就是程序执行的出口,运行至下面这句话说明连接成功! 连接数据库成功仅仅是第二步,接下来更重要的是进行对数据库的增删改操作!!

在这里插入图片描述

连接数据库成功之后,就是为了下面增删改操作服务的。注意看对数据库进行插入操作的方法如下:(插入操作的方法要写在Connection这个类里边)

public void testInsert() {
	  PreparedStatement ps1 = null; //使用该类执行增删改操作不会发生sql注入现象!!
    //在进行插入操作的时候 保证你的表、以及对应的列名都存在 ?在这里表示占位符
    String sql = "insert into t_user(ID,USERNAME,PASSWORD1,EMAIL) values(?,?,?,?)";
    try {
     //1、预编译sql语句 返回PreparedStatement的实例给ps1 con表示Connection的对象
      ps1 = con.prepareStatement(sql);
      //2、填充占位符=?
      ps1.setString(1, "2");
      ps1.setString(2, "ww");
      ps1.setString(3, "12345");
      ps1.setString(4, "907372669@qq.com");
      //执行操作
      ps1.execute();
    } catch (SQLException e) {
      e.printStackTrace();
    }
    //资源的关闭
    try {
      if (ps1 != null)
        ps1.close();
    } catch (SQLException e) {
      e.printStackTrace();
    }
    try {
      if (con != null)
        con.close();
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }

插入方法写好之后,在主函数里面调用即可实现插入操作,千万注意自己写的sql语句写的有没有存在问题。

在这里插入图片描述

同样往下是删除操作的方法(ps:注意观察关闭资源的方法,将其写在一个方法体里,减少代码的重用性!!)

public void testUpdate() {
    PreparedStatement ps2 = null;
    //编写sql语句 返回PreparedStatement的实例
    String sql = "update T_USER set USERNAME = ? where ID = ? ";
    try {
      ps2 = con.prepareStatement(sql);
       //填充占位符=?
      ps2.setObject(1,"newgg");
      ps2.setObject(2,"1");
      //执行
      ps2.execute();
    } catch (SQLException e) {
      e.printStackTrace();
    }
    //实现资源关闭的方法
    closeSources(ps2,con);
  }
  
  //实现资源关闭的方法如下:
public void closeSources(PreparedStatement ps, Connection con) {
    try {
      if (ps != null)
        ps.close();
    } catch (SQLException e) {
      e.printStackTrace();
    }
    try {
      if (con != null)
        con.close();
    } catch (SQLException e) {
      e.printStackTrace();
    }
}

接下来实现修改某一行的属性的方法,逻辑实现同插入删除一样。

public void testUpdate() {
 //编写sql语句 返回PreparedStatement的实例
    PreparedStatement ps2 = null;
    String sql = "update T_USER set USERNAME = ? where ID = ? ";
    try {
      ps2 = con.prepareStatement(sql);
      //填充占位符=?
      ps2.setObject(1,"newgg");
      ps2.setObject(2,"1");
      //执行
      ps2.execute();
    } catch (SQLException e) {
      e.printStackTrace();
    }
    //实现资源的关闭
    closeSources(ps2,con);
  }

在这里插入图片描述

套路都是一样,细心的人会发现,增删改的操作步骤都是一样的,但唯独SQL语句不一样,进而填充占位符的参数是不一样的,利用Java 具有可变长参数的性质,我们可以写出一个通用的增删改的方法

 //实现增删改的通用操作
// sql占位符中的个数与可变长参数的长度一致!!
  public void insert_Delete_Update(String sql, Object ...args) {
   //预编译SQL语句,返回PreparedStatement的实例
    PreparedStatement ps4 = null;
    try {
      ps4 = con.prepareStatement(sql);
      //填充占位符
      for(int i=0; i<args.length; i++) {
        ps4.setObject(i+1,args[i]);
      }
      //执行
      ps4.execute();
    } catch (SQLException e) {
      e.printStackTrace();
    }
    //实现资源的关闭
    closeSources(ps4,con);
  }

于是进而实现代码块分离,SQL语句写在另一个方法里,代码实现如下:

 public void test_Insert_Delete_Update() {
 
    String sql1 = "update T_USER set username = ? where ID = ? ";
    //仔细观察这个调用的方法 username=“newQ” ID=“2”这两个参数传入这个方法里 
    insert_Delete_Update(sql1,"newQ","2");
  }

在主函数调用该方法,即可实现对表的增删改操作!

在这里插入图片描述

到此这篇关于使用IDEA对Oracle数据库进行简单增删改查操作的文章就介绍到这了,更多相关IDEA对Oracle数据库增删改查内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

您可能感兴趣的文章:IntelliJ Idea SpringBoot 数据库增删改查实例详解Oracle + mybatis实现对数据的简单增删改查实例代码python链接oracle数据库以及数据库的增删改查实例python cx_Oracle的基础使用方法(连接和增删改查)JavaWeb应用实例:用servlet实现oracle 基本增删改查

  • 本文相关:
  • oracle数据创建虚拟列和复合触发器的方法
  • oracle的clob大数据字段类型操作方法
  • plsql连接oracle数据库报ora 12154错误解决方法
  • oracle中使用dbms_xplan处理执行计划详解
  • windows中oracle存储过程加密的实例代码
  • pl/sql 类型格式转换
  • oracle中查看慢查询进度的脚本分享
  • 在oracle数据库中添加外键约束的方法详解
  • oracle 自定义split 函数实例详解
  • oracle 11g em重建报唯一约束错误解决方法
  • 怎么用idea创建个maven进行增删改查
  • 如何使用intellij idea 创建的grails去写一个登录...
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页intellij idea springboot 数据库增删改查实例详解oracle + mybatis实现对数据的简单增删改查实例代码python链接oracle数据库以及数据库的增删改查实例python cx_oracle的基础使用方法(连接和增删改查)javaweb应用实例:用servlet实现oracle 基本增删改查oracle数据创建虚拟列和复合触发器的方法oracle的clob大数据字段类型操作方法plsql连接oracle数据库报ora 12154错误解决方法oracle中使用dbms_xplan处理执行计划详解windows中oracle存储过程加密的实例代码pl/sql 类型格式转换oracle中查看慢查询进度的脚本分享在oracle数据库中添加外键约束的方法详解oracle 自定义split 函数实例详解oracle 11g em重建报唯一约束错误解决方法oracle 查看表空间的大小及使用情linux系统(x64)安装oracle11g完oracle数据库下载及安装图文操作oracle存储过程基本语法介绍oracle 10g 安装教程[图文]oracle 如何查询被锁定表及如何解基于ora-12170 tns 连接超时解决oracle中to_date详细用法示例(ororacle数据库tns配置方法详解oracle 创建表空间详细介绍记一次oracle数据恢复过程oracle通过logminer实现数据同步迁移oracle客户端的安装与远程连接配置方法分oracle日期函数简介oracle 细粒度审计(fga)初步认识oracle 存储过程总结(一、基本应用)oracle 11g release (11.1) 索引底层的数oracle中scott表结构与简单查询实例分析oracle查看会话锁定的所有对象代码分享windows下使用dos命令行连接oracle数据库
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved