/**使用oracle 数据库,调用Java ,实现数据库连接访问表*/
/**
第一步:新创建一个简单的表,供我们做操作
*/
create table myTest117(userId varchar2(20) ,username varchar2(20));
insert into myTest117 values('11','zhangsan');
insert into myTest117 values('22','lisi');
insert into myTest117 values('33','wangwu');
select * from myTest117;
/**
第二步:编写 Java source 供oracle 调用,实现对表的查询
*/
create or replace and compile java source named connetTest as
import java.sql.* ;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.* ;
import java.util.Date;
import oracle.sql.ARRAY;
import oracle.sql.ArrayDescriptor;
public class connetTest
{
static public String getMsg(String name) {
String sql = "select m.username as dd from myTest117 m";
String tmpStr = "" ;
PreparedStatement pstmt = null ;
ResultSet rs = null ;
Connection conn = null ;
try
{
conn = DriverManager.getConnection("jdbc:default:connection:");
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs. next ())
tmpStr += rs.getString("dd")+" ; ";
}
catch(SQLException e)
{
System.err.println(e.getMessage());
}
finally
{
try
{
rs. close ();
pstmt. close ();
/**/ /* if((conn!=null)||!conn.isClosed())
conn.close(); */
}
catch(SQLException e)
{
System.err.println(e.getMessage());
}
}
return tmpStr;
}
}
/**
第三步:创建一个函数,调用该Java 代码
*/
create or replace function connetTest(name varchar2) return varchar2
is language java name 'connetTest.getMsg(java.lang.String) return java.lang.String';
/**
第四步:我们可以测试下,是否实现
*/
select connetTest('xx') from dual;