JDBC连接oracle数据库进行增,删,改,查
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数据库进行增,删,改,查相关推荐
- JDBC连接Oracle数据库测试
JDBC连接Oracle数据库测试 package date20180727.dao; import java.sql.Connection; import java.sql.DriverManage ...
- idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...
intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作 发布时间:2018-07-04 10:09, 浏览次数:2532 , 标签: intelij idea jav ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- jdbc连接oracle数据库
jdbc连接Oracle数据库的步骤: 1.导入需要的jar包,比如ojdbc6.jar 2.加载驱动.Class.forName("oracle.jdbc.OracleDriver&quo ...
- Java案例:利用JDBC连接Oracle数据库
Java案例:利用JDBC连接Oracle数据库 一.准备工作 1.启动SQL Developer,设置java.exe路径 2.在Oracle SQL Developer里,新建数据库连接 连接名: ...
- jdbc连接oracle查询数据库,JDBC连接Oracle数据库,并操作数据库,查询表
JDBC连接Oracle数据库 protected void doPost(HttpServletRequest request, HttpServletResponse response) thro ...
- Java编程 JDBC连接Oracle数据库
Part1 JDBC JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...
- 表单的增 删 改 查
django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...
- properties(map)增.删.改.查.遍历
import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...
最新文章
- SQL Server 2016 查询存储性能优化小结
- PyObject_CallMethod
- iBatis整理——iBatis批处理实现(Spring环境)
- Android 事件与事件监听器
- ubuntu16.04下安装opencv3.2版本
- java compare equla_Java中的equals,==,compareTo和compare的比较
- 源码安装 MariaDB
- Linux自动解压部署WEB项目脚本
- 二叉树的前序中序后序 递归与非递归解法
- Android与Chromium源码搜索工具
- PHP获取指定月的前N个月数据
- 简单好用的开源会议室预约系统
- 继续惨...555555555
- MobileNet网络系列论文及模型V1-V2-V3
- 所有小米机型 解BT+刷Magisk并ROOT+躲避应用ROOT环境检查教程
- 推荐一款有趣的APP-种子习惯
- return返回值返回到哪里
- 解决MacBook Pro M2关于inport tensorflow 出现的Illegal instruction: 4
- 【论文阅读|深读】DRNE:Deep Recursive Network Embedding with Regular Equivalence
- 历届试题 矩阵翻硬币 蓝桥杯 大数开方 大数相乘