1.配置相关maven环境

附上链接

2.建立实体类

这里我建立一个实体类映射数据库中的XWD_TEST表

public class ModelOfJDBC {private int id;private String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

3.配置数据源并连接到数据库

url为你要连接的数据库地址,username和password为登录名和密码。

在这里我建立了一个static connection对象供后面的增删改查使用。同时将资源关闭的方法进行了封装。

public class Data_By_JDBC {public static final String url = "jdbc:oracle:thin:@172.30.0.242:1520:ORADB01"; public static final String username = "dev_fspf_omms_n";public static final String password = "dev_fspf_omms_n";public static  Connection connection = null;///*** 加载oracle驱动*/static {try{Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();//加载oracle驱动System.out.println("oracle驱动加载中...");connection = getConnection();System.out.println("连接数据库成功");}catch(InstantiationException e1){System.out.println("实例化异常");}catch(IllegalAccessException e2){System.out.println("权限异常");}catch(ClassNotFoundException e3){System.out.println("找不到类");}}/**** 获取connection连接* @return*/public static Connection getConnection(){try{connection = DriverManager.getConnection(url, username, password);//获取连接,使用DriverManager的getConnection方法return connection;}catch (Exception e){e.printStackTrace();return null;}}/*** 关闭资源*/public static void close(ResultSet rs, Connection connection, PreparedStatement ps) {try {closeResultSet(rs);closePreparedStatement(ps);closeConnection(connection);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//关闭结果集public static void closeResultSet(ResultSet rs) throws SQLException {if(rs!=null) {rs.close();}}//关闭连接public static void closeConnection(Connection connection) throws SQLException {if(connection!=null) {connection.close();}}//关闭预编译public static void closePreparedStatement(PreparedStatement ps) throws SQLException {if(ps!=null) {ps.close();}}
}

4.对数据库进行增删改查

在进行增删改查之前,一般会对sql语句(字符串存储)预编译到PreparedStatement对象中(PreparedStatement ps = connection.prepareStatement(sql语句))。在操作完成后,不要忘记对这两个对象释放资源。

然后使用 ps.executeQuery();执行sql语句,如果有返回结果,将返回结果存放在ResultSet对象中。

  • 查询操作(select *)​​​​​​​

建立PreparedStatement对象和ResultSet对象

public class Data_Select extends Data_By_JDBC {/*** select操作* @param args*/public static void selectAll() {PreparedStatement ps = null;ResultSet rs = null;String sql = "select * from XWD_TEST ";try {ps = connection.prepareStatement(sql);rs = ps.executeQuery();List<ModelOfJDBC> list = new ArrayList<>();System.out.println("ID"+" "+"NAME");while (rs.next()) {ModelOfJDBC moj = new ModelOfJDBC();System.out.print(rs.getInt("ID")+" ");moj.setId(rs.getInt("ID"));System.out.println(rs.getString("NAME"));moj.setName(rs.getString("NAME"));list.add(moj);}closeResultSet(rs);System.out.println("关闭select的结果集");closePreparedStatement(ps);System.out.println("关闭select的预编译");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} }
}
  • ​​​​​​​更新操作
public class Data_Update extends Data_By_JDBC {/*** update操作*/public static void update() {String sql = "update XWD_TEST set name = 'liyi' where name = 'li'";try {PreparedStatement ps = connection.prepareStatement(sql);ps.executeQuery();//执行sql语句System.out.println("update 成功");closePreparedStatement(ps);System.out.println("关闭update预编译");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}
  • 删除操作
public class Data_delete extends Data_By_JDBC {/*** 删除操作*/public static void delete() {String sql = "delete from XWD_TEST where id = 3";try {PreparedStatement ps = connection.prepareStatement(sql);ps.executeQuery();//执行sql语句System.out.println("ִ删除成功");closePreparedStatement(ps);System.out.println("关闭delete预编译");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}
  • 插入操作
public class Data_Insert extends Data_By_JDBC {/*** insert操作* @param args*/public static void insert() {String sql = "insert into XWD_TEST values(3,'xue')";try {PreparedStatement ps = connection.prepareStatement(sql);ps.executeQuery();//执行插入语句System.out.println("插入成功");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} }}

5.运行

在代码最后释放公用的connection资源。

public class Run extends Data_By_JDBC {public static void main(String[] args) {// TODO Auto-generated method stub//      Data_delete.delete();
//      Data_Update.update();
//      Data_Select.selectAll();try {closeConnection(connection);//关闭connection} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

JDBC连接oracle数据库进行增,删,改,查相关推荐

  1. JDBC连接Oracle数据库测试

    JDBC连接Oracle数据库测试 package date20180727.dao; import java.sql.Connection; import java.sql.DriverManage ...

  2. idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...

    intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作 发布时间:2018-07-04 10:09, 浏览次数:2532 , 标签: intelij idea jav ...

  3. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  4. jdbc连接oracle数据库

    jdbc连接Oracle数据库的步骤: 1.导入需要的jar包,比如ojdbc6.jar 2.加载驱动.Class.forName("oracle.jdbc.OracleDriver&quo ...

  5. Java案例:利用JDBC连接Oracle数据库

    Java案例:利用JDBC连接Oracle数据库 一.准备工作 1.启动SQL Developer,设置java.exe路径 2.在Oracle SQL Developer里,新建数据库连接 连接名: ...

  6. jdbc连接oracle查询数据库,JDBC连接Oracle数据库,并操作数据库,查询表

    JDBC连接Oracle数据库 protected void doPost(HttpServletRequest request, HttpServletResponse response) thro ...

  7. Java编程 JDBC连接Oracle数据库

    Part1 JDBC JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...

  8. 表单的增 删 改 查

    django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...

  9. properties(map)增.删.改.查.遍历

    import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...

最新文章

  1. SQL Server 2016 查询存储性能优化小结
  2. PyObject_CallMethod
  3. iBatis整理——iBatis批处理实现(Spring环境)
  4. Android 事件与事件监听器
  5. ubuntu16.04下安装opencv3.2版本
  6. java compare equla_Java中的equals,==,compareTo和compare的比较
  7. 源码安装 MariaDB
  8. Linux自动解压部署WEB项目脚本
  9. 二叉树的前序中序后序 递归与非递归解法
  10. Android与Chromium源码搜索工具
  11. PHP获取指定月的前N个月数据
  12. 简单好用的开源会议室预约系统
  13. 继续惨...555555555
  14. MobileNet网络系列论文及模型V1-V2-V3
  15. 所有小米机型 解BT+刷Magisk并ROOT+躲避应用ROOT环境检查教程
  16. 推荐一款有趣的APP-种子习惯
  17. return返回值返回到哪里
  18. 解决MacBook Pro M2关于inport tensorflow 出现的Illegal instruction: 4
  19. 【论文阅读|深读】DRNE:Deep Recursive Network Embedding with Regular Equivalence
  20. 历届试题 矩阵翻硬币 蓝桥杯 大数开方 大数相乘

热门文章

  1. 17、Java 的基类(Object 类)的方法介绍
  2. 【渝粤教育】电大中专计算机职业素养 (5)作业 题库
  3. 一粒云盘v2.1发布
  4. java基于word模板动态生成word及转pdf实践
  5. MinIO历史版本下载
  6. 收购游戏手机厂商黑鲨背后,腾讯走了一步好棋?
  7. 数字图像处理必备软件
  8. 《操作系统-真象还原》07. 中断
  9. 如何安装husky_利用huskylint-staged构建代码检查工作流
  10. ssm+easyUI之分页查询