程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php調用java類由java類讀數據庫完成相關操作

php調用java類由java類讀數據庫完成相關操作

編輯:PHP綜合

1 建立系統ODBC 數據源photo(本次使用的是Oracle 9i,詳細配置如有不懂這處再和我聯系)

2 編譯DataBaseConnection.java文件 將其編譯文件放入到PHP支持的類文件目錄中

package com.inberkong.util;
/*******************************************************
*Programe File:復件緩沖池DataBaseConnection.java
*Creat  Date:3/28/2005(MM-DD-YYYY)
*CreatBy :InberKong(GongYingBin)
*LastModifyDate:3/28/2005(MM-DD-YYYY)
*ModifyBy :InberKong(GongYingBin)
* Function :Get the Oracle DataBaseConnectionPool
//一個用於查找數據源的工具類。
*******************************************************/
import java.sql.*;
//連接數據庫的工具類。
public class DataBaseConnection
{
/**
  *一個靜態方法,返回一個數據庫的連接。
  */
public static Connection getConnection()
{

  Connection con=null;
  
   try
   {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con=DriverManager.getConnection("jdbc:odbc:photo","photo","inberkong");//數據源連接信息
  }
  catch(Exception e)
  {
  e.printStackTrace();
  }
  return con;
}
}

3 編譯讀數據表的處理類同樣將處理類放入PHP調用的Java類目錄

這是一個讀取用戶角色表 返回用戶與角色間關系的JS數組的處理類 GetUserRolseArray.java

注:讀程序時不需要關心相關的表結構,可只關心整個調用的處理過程。

package com.inberkong.processBean;
import java.lang.*;
import java.sql.*;
import java.util.*;
import java.io.*;
import com.inberkong.util.DataBaseConnection;
public class GetUserRolseArray
{
private Connection conss;
private Statement stmtsss=null;
private Statement stmt2=null,stmt3=null;
private ResultSet rstsss=null;
private ResultSet rst2=null,rst3=null;
   private String sqlss="";
   private String sql2="",sql3="";
   private String rString="";
   private String ID,ID2;
   private String NAME;
   private int i=0;
public GetUserRolseArray()
{
  try
  {
 
  this.conss=DataBaseConnection.getConnection();
   }
   catch(Exception e)
   {
  
   }
 
  //DataBaseConnection.getConnection();
}
protected void finalize() throws Throwable
{
 
  //
//super.finalize();
//System.out.println("inberkong");
closeCON();
}
   
  public String getUserRolseArray() throws Exception
   {
    //exePtempfunction();
   
    sqlss="SELECT ID,NAME FROM ADMIN WHERE 1=1 AND STATE!=0 AND USERTYPE!='0'
ORDER BY ID DESC";
    //外部用戶不參於後加角色管理
    stmtsss=conss.createStatement();
    rstsss=stmtsss.executeQuery(sqlss);
    while (rstsss.next())
    {
    ID=rstsss.getString("ID");
    ID2=ID;
   
    NAME=rstsss.getString("NAME");
    rString=rString+"
"+"arr["+i+"]=new BDSort
('"+ID+"','00','"+NAME+"','');";
    i++;
   
    sql3="select ID,NAME from ROLE_MANAGE where ID in( select ROLSEID
from USER_ROLSE_LINK where USERID="+ID2+") order by ID asc ";
    stmt3=conss.createStatement();
    rst3=stmt3.executeQuery(sql3);
    while(rst3.next())
    {
   
    ID=rst3.getString("ID");
      
    NAME=rst3.getString("NAME");
    rString=rString+"
"+"arr["+i+"]=new BDSort
('"+ID+"','"+ID2+"','"+NAME+"','y');";
     i++;
    }
       
    sql2="select ID,NAME from ROLE_MANAGE where ID not in(select
ROLSEID from USER_ROLSE_LINK where USERID="+ID2+") order by ID asc ";
    stmt2=conss.createStatement();
    rst2=stmt2.executeQuery(sql2);
    while(rst2.next())
    {
   
    ID=rst2.getString("ID");
      
    NAME=rst2.getString("NAME");
    rString=rString+"
"+"arr["+i+"]=new BDSort
('"+ID+"','"+ID2+"','"+NAME+"','n');";
     i++;
    }

   
    }
   rstsss=null;
   return rString;
   }

   public static void main(String[] args){
  
   //測試如下
     GetUserRolseArray obj1 = new GetUserRolseArray();
    
      try
  {
 
     System.out.println(obj1.getUserRolseArray());
   }
   catch(Exception e)
   {
   //System.out.println(e);
   }
     return;
   }

  public void closeStmtSSS()throws Exception
  {
  stmtsss.close();
  }
  public void closeCON() throws Exception
  {
   if(!(conss.isClosed()))
   conss.close();
  
  }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved