亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

各位幫我看看哪里有問題,我是按視頻一步一步敲的代碼,把testProcedure函數run as 后出現Class not found demo.oracle.TestProcedure?

package?demo.utils;

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


public?class?JDBCUtils?{
	private?static?String?driver?=?"oracle.jdbc.OracleDriver";
	private?static?String?url?=?"jdbc:oracle:thin:@localhost:zhang0519";
	private?static?String?user?=?"scott";
	private?static?String?password?=?"tiger";
	
	//注冊數據庫驅動
	static{

		try?{
			Class.forName(driver);
		}?catch?(ClassNotFoundException?e)?{
			throw?new?ExceptionInInitializerError(e);
		}
	}
	
	//獲取數據庫連接
	public?static?Connection?getConnection(){
		try?{
			return?DriverManager.getConnection(url,user,password);
		}?catch?(SQLException?e)?{
			e.printStackTrace();
		}
		return?null;
	}
	
	//釋放數據庫的資源
	public?static?void?release(Connection?conn,Statement?st,ResultSet?rs){
		if(rs?!=?null){
			try?{
				rs.close();
			}?catch?(SQLException?e)?{
				e.printStackTrace();
			}finally{
				rs?=?null;
			}
			
		}
		
		if(st?!=?null){
			try?{
				st.close();
			}?catch?(SQLException?e)?{
				e.printStackTrace();
			}finally{
				st?=?null;
			}
		}
		
		if(conn?!=?null){
			try?{
				conn.close();
			}?catch?(SQLException?e)?{
				e.printStackTrace();
			}finally{
				conn?=?null;
			}
		}
	}
	
}
package?demo.oracle;

import?java.sql.CallableStatement;
import?java.sql.Connection;

import?org.junit.Test;

import?demo.utils.JDBCUtils;
import?oracle.jdbc.driver.OracleTypes;

public?class?TestProcedure?{

	@Test
	public?void?testProcedure(){
		String?sql?=?"{call?queryempinf(?,?,?,?)}";
		Connection?conn?=?null;
		CallableStatement?call?=?null;
		try?{
			//得到一個連接
			conn?=?JDBCUtils.getConnection();
			
			//通過連接創建Statement
			call?=?conn.prepareCall(sql);
			
			//對于in參數,賦值
			call.setInt(1,7839);
			
			//對于out參數,申明
			call.registerOutParameter(2,?OracleTypes.VARCHAR);
			call.registerOutParameter(3,?OracleTypes.NUMBER);
			call.registerOutParameter(4,?OracleTypes.VARCHAR);
			
			//執行調用
			call.execute();
			
			//取出結果
			String?name?=?call.getNString(2);
			double?sal?=?call.getDouble(3);
			String?job?=?call.getNString(4);
			System.out.println(name+"\t"+sal+"\t"+job);
		}?catch?(Exception?e)?{
			e.printStackTrace();
		}finally{
			JDBCUtils.release(conn,?call,?null);
		}
		
	}
}


正在回答

2 回答

你的URL設置的有問題:private?static?String?url?=?"jdbc:oracle:thin:@localhost:zhang0519";

這個是我本地的:private static String url = "jdbc:oracle:thin:@localhost:1521:orcl";

注意格式:jdbc:oracle:thin:@localhost:端口號:數據庫名 ? ?注意這里的漢字部分,且是以冒號隔開的


1 回復 有任何疑惑可以回復我~
#1

慕粉3439686 提問者

非常感謝!
2016-10-22 回復 有任何疑惑可以回復我~
異常如下:
Class?not?found?demo.oracle.TestProcedure
java.lang.ClassNotFoundException:?demo.oracle.TestProcedure
	at?java.net.URLClassLoader.findClass(Unknown?Source)
	at?java.lang.ClassLoader.loadClass(Unknown?Source)
	at?sun.misc.Launcher$AppClassLoader.loadClass(Unknown?Source)
	at?java.lang.ClassLoader.loadClass(Unknown?Source)
	at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:685)
	at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:421)
	at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
	at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
	at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
	at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

各位幫我看看哪里有問題,我是按視頻一步一步敲的代碼,把testProcedure函數run as 后出現Class not found demo.oracle.TestProcedure?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號