导航:首页 > 编程语言 > oraclejava

oraclejava

发布时间:2023-01-29 15:59:27

『壹』 如何在Oracle中使用java方法 详细

java 存储过程今后在各大数据库厂商中越来越流行,功能也越来越强大。这里以 Oracle 为例,介绍一下java 存储过程的具体用法。 一、如何创建java 存储过程? 通常有三种方法来创建java 存储过程。 1. 使用oracle 的sql 语句来创建: e.g. 使用create or replace and compile java source named "" as 后边跟上java 源程序。要求类的方法必须是public static 的,才能用于存储过程。 SQL> create or replace and compile java source named "javademo1" 2 as 3 import java.sql.*; 4 public class JavaDemo1 5 { 6 public static void main(String[] args) 7 { 8 System.out.println("hello, java demo1"); 9 } 10 } 11 / Java 已创建。 SQL> show errors java source "javademo1" 没有错误。 SQL> create or replace procere javademo1 2 as 3 language java name 'JavaDemo1.main(java.lang.String[])'; 4 / 过程已创建。 SQL> set serveroutput on size 5000 SQL> call dbms_java.set_output(5000); --java 语言向控制台输出 SQL> execute javademo1(); --execute 存储过程名称 hello, java demo1 调用完成。 2. 使用外部class 文件来装载创建 Class 文件放置在其他目录下调用方法 e.g. 这里既然用到了外部文件,必然要将class 文件放到oracle Server 的某一目录下边。 public class OracleJavaProc { public static void main(String[] argv) { System.out.println("It's a Java Oracle procere."); } } SQL> grant create any directory to scott; 授权成功。 SQL> conn 已连接。 SQL> create or replace directory test_dir as 'd:/oracle'; 目录已创建。 using -- 使用 bfile---外部文件 SQL> create or replace java class using bfile(test_dir, 'OracleJavaProc.CLASS') 2 / Java 已创建。 SQL> create or replace procere testjavaproc as language java name 'OracleJavaProc.main(java.lang.String[])'; 2 / 过程已创建。 SQL> call testjavaproc(); 调用完成。 SQL> execute testjavaproc; PL/SQL 过程已成功完成。 SQL> set serveroutput on size 5000 SQL> call dbms_java.set_output(5000); 调用完成。 SQL> execute testjavaproc; It's a Java Oracle procere. 3. 我推荐的一种方法,直接使用loadjava 命令远程装载并创建。 先创建一个类, e.g. import java.sql.*; import oracle.jdbc.*; public class OracleJavaProc { //Add a salgrade to the database. public static void addSalGrade(int grade, int losal, int hisal) { System.out.println("Creating new salgrade for EMPLOYEE..."); try { Connection conn = DriverManager.getConnection("jdbc:default:connection:"); String sql = "INSERT INTO salgrade " + "(GRADE,LOSAL,HISAL) " + "VALUES(?,?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1,grade); pstmt.setInt(2,losal); pstmt.setInt(3,hisal); pstmt.executeUpdate(); pstmt.close(); } catch(SQLException e) { System.err.println("ERROR! Adding Salgrade: " + e.getMessage()); } } } 使用loadjava 命令将其装载到服务器端并编译: D:eclipse3.1workspacedbtest>loadjava -u -v -resolve Or acleJavaProc.java arguments: '-u' '-v' '-resolve' 'OracleJavaProc.java' creating : source OracleJavaProc loading : source OracleJavaProc resolving: source OracleJavaProc 查询一下状态: 连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Proction With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Proction SQL> SELECT object_name, object_type, status FROM user_objects WHERE object_type LIKE 'JAVA%'; OBJECT_NAME -------------------------------------------------------------------------------- OBJECT_TYPE STATUS ------------------------------------ -------------- OracleJavaProc JAVA CLASS VALID OracleJavaProc JAVA SOURCE VALID 测试一下存储过程: SQL> create or replace procere add_salgrade(id number, losal number, hisal num ber) as language java name 'OracleJavaProc.addSalGrade(int, int, int)'; 2 / 过程已创建。 SQL> set serveroutput on size 2000 SQL> call dbms_java.set_output(2000); 调用完成。 SQL> execute add_salgrade(6, 10000, 15000); Creating new salgrade for EMPLOYEE... PL/SQL 过程已成功完成。 SQL> select * from salgrade where grade=6; GRADE LOSAL HISAL ---------- ---------- ---------- 6 10000 15000 二、如何更新你已经编写的java 存储过程? 假如要往类OracleJavaProc 里添加一个存储过程方法,如何开发? 正确的步骤应该是先dropjava, 改程序,再loadjava。 e.g.修改OracleJavaProc 类内容如下: import java.sql.*; import oracle.jdbc.*; public class OracleJavaProc { // Add a salgrade to the database. public static void addSalGrade(int grade, int losal, int hisal) ...{ System.out.println("Creating new salgrade for EMPLOYEE..."); try ...{ Connection conn = DriverManager.getConnection("jdbc:default:connection:"); String sql = "INSERT INTO salgrade " + "(GRADE,LOSAL,HISAL) " + "VALUES(?,?,?

『贰』 学习数据库ORACLE和编程语言JAVA有关系吗

没关系。数据库是用来存储数据用的 。oracle只是比较长用的数据库之一。还有mysql sqlserver等..Java是编版程语言。是实现把数据库里的权东西取出来然后展现给人看的。 只是数据库都提供了接口给各种编程语言调用他的功能。 你只要知道数据库和编程语言是两回事。不过你学会了oracle数据库 你其他的一些数据库基本就都会了。不过编程语言却不是 你学会了java不代表你就会c#或者C语言。只是你学会一门编程语言能帮助你更快的学会别的编程语言。 这是我自己思考的,记得踩啦我哈。

『叁』 如何用Java实现连接Oracle

1、工作环境:myeclipse中->新建java_oracle工程->新建包com.zp->新建java_oracle_jdbc.java类
2、需要配置Oracle数据库驱动
java工程(java_oracle)—>右键属性(Properties)->Java Build Path->Libraries->Add External JARs->添加oracle安装目录E:\oracle\proct\10.1.0\Db_1\jdbc\lib下的“classes12.jar”文件;
每次新建一个不同工程都需要配置一次
3、代码如下:
package com.zp;
import java.sql.*;
public class java_oracle_jdbc {
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//得到连接
Connection ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:simlink", "scott", "tiger");

Statement sm=ct.createStatement();
ResultSet rs=sm.executeQuery("select * from emp");
while(rs.next())
{
System.out.println("用户名:"+rs.getString(2));
}
rs.close();
sm.close();
ct.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

『肆』 如何在Oracle中使用Java存储过程

分享我的代码给你,这是最基本的版本,还有更好的

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
* Load JDBC Driver
* 最基本的方法通过JDBC连接数据库
* @author Jacob
*
*/
public class LoadByPrimary {

public static void main(String[] args) throws ClassNotFoundException
{
String driver = "oracle.jdbc.OracleDriver";
Connection cn = null;
/**
* Class.forName手动加载一个类到方法区,Driver类中包含自动注册驱动的静态代码块
* 会自动在DriverManager中注册驱动
*/
Class.forName(driver);
String url = "jdbc:oracle:thin:@localhost:1521:ORACLE"; //1521代表端口号,默认的
String user = "用户名";
String pwd = "密码";
try
{
/*
* Connection是接口,返回值是一个引用对象,是Oracle驱动提供实现类ojdbc7.jar
* 使用JDBC API接口,实际上是驱动实现类
*/
cn = DriverManager.getConnection(url,user,pwd);
Statement stmt = cn.createStatement();
String sql = "SELECT * FROM stu_emp WHERE deptno =10";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getInt("empno")+" "+
rs.getString("ename")+" "+
rs.getString("job"));
}
rs.close();
stmt.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
try
{
if(cn!=null)
{
cn.close();
}
}
catch (SQLException e2)
{
e2.printStackTrace();
}
}
}
}
这是通过preparedstatement实现更新数据,这里我把连接数据库的方法进行了封装,每次直接调用了。
public static void main(String[] args)
{
PreparedStatementDemo psd = new PreparedStatementDemo();
psd.updateSalary("JACOB",3000);
psd.selectSalary("JACOB");
}

public void updateSalary(String ename,double sal)
{
String sql = "Update stu_emp set sal= ? Where ename = ?";
Connection cn = null;
PreparedStatement ps = null;
try
{
cn = DBPUtil.getConnection();
ps = cn.prepareStatement(sql);
ps.setDouble(1, sal);
ps.setString(2, ename);
int num = ps.executeUpdate();
System.out.println("提示:总共有 "+num+" 条数据已经更新!");
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
DBUtil.stmtClose(ps);
DBUtil.connClose(cn);
}
}

public void selectSalary(String name)
{
String sql = "Select * From stu_emp Where ename = ?";
Connection cn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try
{
cn = DBPUtil.getConnection();
ps = cn.prepareStatement(sql);
ps.setString(1, name);
rs = ps.executeQuery();
while(rs.next())
{
System.out.println(rs.getString("ename")+" 的工资是: "+ rs.getInt("sal"));
}
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
DBUtil.stmtClose(ps);
DBUtil.rsClose(rs);
DBUtil.connClose(cn);
}
}
}

『伍』 怎么实现用java访问oracle数据库

实现用抄java访问oracle数据库:

准备工作:

1.下载驱动,打开浏览器,搜索oracle数据库驱动,进入下载页面下载即可;

2.将驱动导入到项目中。

用java访问oracle数据库代码实现:



try{
Class.forName("oracle.jdbc.driver.OracleDriver");//加载驱动
//与数据库建立连接
try{
Stringurl="jdbc:oracle:thin:@localhost:1521:orcl";
Stringuser="scott";//用户名
Stringpassword="tiger";//密码
conn=DriverManager.getConnection(url,username,password);
}catch(SQLExceptione){
e.printStackTrace();
}
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
阅读全文

与oraclejava相关的资料

热点内容
cs6裁切工具 浏览:235
数据库超过多少数据会卡 浏览:858
CAD落图文件 浏览:125
怎样翻译文件内容 浏览:679
戴尔r910安装linux 浏览:69
有线电视升级失败 浏览:560
火绒安全把文件删掉了在哪里找 浏览:503
手机qq网络状态方框 浏览:225
哪里有文件纸袋 浏览:873
复制的东西能不能粘贴到空文件夹 浏览:876
酒店没有网络如何缴费 浏览:380
win10开机滚动很久 浏览:520
可对元数据实例进行的操作有什么 浏览:934
什么后缀的文件kit 浏览:295
word行书字体库下载 浏览:579
iosuc版本历史版本 浏览:14
电影字幕文件制作软件 浏览:723
windows10免密码登录 浏览:762
iphone5s跑步记步 浏览:978
手机网站设计怎么做好 浏览:322

友情链接