JDBC(韩顺平Oracle)

2024-06-10 02:48
文章标签 oracle jdbc 顺平

本文主要是介绍JDBC(韩顺平Oracle),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java连接Oracle有两种方式,一种是JDBC,另一种是JDBC-ODBC桥接模式,后者基本上很少用,甚至在JDK1.8中都没有后者的驱动了,这里主要是前者。举例说明:创建一个Java Project。

这里写图片描述

创建帮助类SQLHelper.java:

import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;public class SQLHelper {// 定义三个变量private static Connection ct = null;private static PreparedStatement ps = null;private static ResultSet rs = null;// 连接数据库的用户名,密码,url驱动// 实际开发中,把这些变量写到外部文件中// 当程序启动时候,我们读入这些配置信息 java.util.Properitesprivate static String username = null;private static String password = null;private static String driver = null;private static String url = null;// 类实例化之前就执行,即编译就执行了// 使用静态块加载驱动static{try {// 使用Properties类,来读取配置文件Properties pp = new Properties();FileInputStream  fis = null;try {fis = new FileInputStream("dbinfo.properties");pp.load(fis);// 取出username,password,driver,urlusername = (String) pp.get("username");password = (String) pp.get("password");driver = (String) pp.get("driver");url = (String) pp.get("url");}catch (IOException e) {e.printStackTrace();}finally{try {fis.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}Class.forName(driver);} catch (ClassNotFoundException e) {e.printStackTrace();}}// 统一的cud操作public static void executeUpdate(String sql,String[] parameters){try {ct = DriverManager.getConnection(url);ps = ct.prepareStatement(sql);if (parameters != null) {for (int i = 0; i < parameters.length; i++) {ps.setString(i + 1, parameters[i]);}ps.executeQuery();}} catch (Exception e) {e.printStackTrace();throw new RuntimeException(e.getMessage());}finally{close(rs, ps, ct);}}//完成查询任务// sql 表示要执行的sql语句public static ResultSet executeQuey(String sql,String[] parameters){//对SQL语句赋值try {// 得到连接ct = DriverManager.getConnection(url, username, password);// 创建ps对象 SQL语句对象ps = ct.prepareStatement(sql);// 如果paramters不为null,我们就去赋值 if (parameters != null) {for (int i = 0; i < parameters.length; i++) {ps.setString(i+1, parameters[i]);}}rs = ps.executeQuery();} catch (SQLException e) {e.printStackTrace();throw new RuntimeException(e.getMessage());}finally{//close(rs,ps,ct);此处不能关闭}return rs;}// 关闭资源public static void close(ResultSet rs,Statement ps,Connection ct){if (rs != null) {try {rs.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if (ps != null) {try {ps.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if (rs != null) {try {rs.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}public static Connection getCt() {return ct;}public static PreparedStatement getPs() {return ps;}}

测试类Test:

import java.sql.*;public class Test{// 此程序演示对oracle的Query操作public static void main(String[] args) {sel();}public static void sel() {String sql = "select * from emp";ResultSet rs = SQLHelper.executeQuey(sql, null);try {while(rs.next()){System.out.println(rs.getString("ename"));}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{SQLHelper.close(rs, SQLHelper.getPs(), SQLHelper.getCt());}}
}

数据库信息dbinfo.properties:

username = scott
password = tiger
driver = oracle.jdbc.driver.OracleDriver
url =jdbc\:oracle\:thin\:@127.0.0.1\:1521\:orcl

这篇关于JDBC(韩顺平Oracle)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1047014

相关文章

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

Oracle迁移PostgreSQL隐式类型转换配置指南

《Oracle迁移PostgreSQL隐式类型转换配置指南》Oracle迁移PostgreSQL时因类型差异易引发错误,需通过显式/隐式类型转换、转换关系管理及冲突处理解决,并配合验证测试确保数据一致... 目录一、问题背景二、解决方案1. 显式类型转换2. 隐式转换配置三、维护操作1. 转换关系管理2.

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

关于Mybatis和JDBC的使用及区别

《关于Mybatis和JDBC的使用及区别》:本文主要介绍关于Mybatis和JDBC的使用及区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、JDBC1.1、流程1.2、优缺点2、MyBATis2.1、执行流程2.2、使用2.3、实现方式1、XML配置文件

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注