JDBC操作Oracle
来源:互联网 发布:周立功单片机怎么样 编辑:程序博客网 时间:2024/05/17 19:59
JDBC操作Oracle涉及的包
java.sql.Connection;
java.sql.DriverManager;
java.sql.ResultSet;
java.sql.SQLException;
java.sql.Statement;
JDBC操作Oracle知识点梳理
- Oracle包的位置:product\11.2.0\dbhome_1\jdbc\lib
- JDBC操作Oracle的过程与MySql类似
- 存储过程的调用语句:{call 存储过程名称(参数1,参数2)}
- 存储函数的调用语句:{返回值=call 存储函数名称(参数1,参数2)}
- JDBC操作Oracle步骤
- 加载驱动包
去这里寻找Oracle的驱动包:product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar
- 创建用户信息字符串
创建用户名与密码
- 加载驱动类
oracle.jdbc.driver.OracleDriver
- 数据库url
jdbc:oracle:thin:@localhost:1521:orcl
- 创建数据库连接,利用连接完成数据库的CRUD操作
- 关闭各个资源
- JDBC操作数据库的简单示例
public class OracleTest{
//oralc查询的基本步骤
public static voidmain(String[]args) throws ClassNotFoundException, SQLException{
Stringusername="scott";//使用scott连接
Stringpassword = "123"; //密码
Stringdriver="oracle.jdbc.driver.OracleDriver";//声明驱动字符串
Stringurl="jdbc:oracle:thin:@localhost:1521:orcl";//获取数据的URL
Class.forName(driver);//根据驱动类,获取字节码文件
Connectionconnection = DriverManager.getConnection(url,username,password);//创建连接
Stringsql="select ename , sal from emp";
Statementcs = connection.createStatement();
ResultSetrs = cs.executeQuery(sql);
while(rs.next()){
Stringname=rs.getString(1);
intsalary=rs.getInt(2);
System.out.println(name+"的工资是:"+salary);
}
rs.close();
cs.close();
connection.close();
}
}
- JDBC调用存储过程
- 存储过程的调用语句
{call 存储过程名称(参数1,参数2)}
- 调用存储过程涉及的API
数据库连接对象.prepareCall("{call 存储过程名称(参数1,参数2)}")
调用存储过程
返回参处过程对象
存储过程对象.setInt(设置哪一位的占位符,该占位符的值);
设置参数为int类型的占位符的值
无返回值
存储过程对象.registerOutParameter(占位符,输出参数类型)
设置输出参数
无返回值
存储过程对象.execute()
执行存储过程
存储过程对象.getInt(获取哪一位占位符的值)
获取输出参数的值
- 调用存储过程示例:要实现该示例,Oracle中,要存在一个名称为p_yearSalary(?,?)的存储过程
public class OracleTest{
//oralc查询的基本步骤
public static voidmain(String[]args) throws ClassNotFoundException, SQLException{
Stringusername="scott";//使用scott连接
Stringpassword = "123"; //密码
Stringdriver="oracle.jdbc.driver.OracleDriver";//声明驱动字符串
Stringurl="jdbc:oracle:thin:@localhost:1521:orcl";//获取数据的URL
Class.forName(driver);//根据驱动类,获取字节码文件
Connectionconn = DriverManager.getConnection(url,username,password);
//获取名称为p_yearSalary(?,?)的存储过程,他有两个参数
CallableStatementprepareCall = conn.prepareCall("{call p_yearSalary(?,?)}");
//获取第一个占位符,并设置该占位符的参数。第一个参数是输入参数
prepareCall.setInt(1,7499);
//第二个参数是输出参数,要用特有的方法,并设置该参数的类型
prepareCall.registerOutParameter(2, OracleType.STYLE_INT);
prepareCall.execute();//执行存储过程
intyearSalary=prepareCall.getInt(2);
System.out.println("年薪是:"+yearSalary);
}
}
- JDBC调用存储函数
- 存储函数的调用语句
{返回值=call 存储函数名称(参数1,参数2)}
- 注意事项:
- 存储函数与存储过程的调用方法一样;唯一的不同只在调用语句上
- 存储函数示例:Oracle中,要存在一个名称为f_emplyeeName(?)的存储函数
public class OracleTest{
//oralc查询的基本步骤
public static voidmain(String[]args) throws ClassNotFoundException, SQLException{
Stringusername="scott";//使用scott连接
Stringpassword = "123"; //密码
Stringdriver="oracle.jdbc.driver.OracleDriver";//声明驱动字符串
Stringurl="jdbc:oracle:thin:@localhost:1521:orcl";//获取数据的URL
Class.forName(driver);//根据驱动类,获取字节码文件
Connectionconn = DriverManager.getConnection(url,username,password);
CallableStatementprepareCall = conn.prepareCall("{?=call f_emplyeeName(?)}");
//第一个参数是返回值,设置返回值的类型为字符串
prepareCall.registerOutParameter(1, Types.VARCHAR);
prepareCall.setInt(2,7499);//获取第二个占位符,并设置该占位符的参数
prepareCall.execute();//执行存储函数
Stringname=prepareCall.getString(1);//获取第一个占位符的返回值
System.out.println("姓名是:"+name);
}
}
- JDBC操作Oracle
- JDBC操作oracle
- jdbc操作关系数据库(oracle)
- JDBC操作Oracle连接配置
- JDBC 操作 Oracle 日期类型
- JDBC操作ORACLE存储过程!
- JDBC操作Oracle CLOB对象
- JDBC操作Oracle BLOB对象
- JDBC操作Oracle BFILE对象
- 使用jdbc操作Oracle数据库
- 通过JDBC操作ORACLE数据库
- ORACLE用JDBC操作CLOB
- 通过JDBC操作ORACLE数据库实例详解
- JDBC操作连接Oracle和MySQL
- java操作ORACLE数据库JDBC[整理]
- JDBC 操作数据库(Access、Mysql、Mssqlserver、Oracle)
- 【JDBC】java PreparedStatement操作oracle数据库
- 【JDBC】java 操作oracle 建表,更新记录
- 二维码生成
- 浏览器-Charset:Chrome浏览器升级后右键工具中的编码修改功能没有了的解决工具
- 贷款计算器- 等额本金、等额本息工具类(Java版)
- 机器学习性能衡量指标
- php学习笔记一初学php语句
- JDBC操作Oracle
- 1.有两个数a和b,请输出最大的数字。
- RxJava2+Retrofit+RxBinding解锁各种新姿势
- 2.5.1.1_线性渐变
- JVM 方法调用之动态分派
- 基于 Django1.10 文档的深入学习(32)—— The Django admin site 之 基础
- 作为产品经理,我常用的工具有哪些?
- 68-套接字超时(SO_RCVTIMEO 与 SO_SNDTIMEO)
- js_DOM