使用jdbc创建连接时为什么老是报java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
展开全部
oracle_jdbc.properties文件中的内容
oracle_jdbc_driver=oracle.jdbc.driver.OracleDriver
oracle_jdbc_url=jdbc:oracle:thin:@192.168.0.120:orcl
oracle_jdbc_username=sys
oralce_jdbc_password=password
OracleJdbcUtils.java文件中的内容
package com.eshop.common.jdbc;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class OracleJdbcUtils {
private static Logger logger = LoggerFactory.getLogger(OracleJdbcUtils.class);
private static String JDBC_DRIVER;
private static String JDBC_URL;
private static String JDBC_USERNAME;
private static String JDBC_PASSWORD;
public OracleJdbcUtils(){
InputStream inputStream = OracleJdbcUtils.class.getResourceAsStream("/oracle_jdbc.properties");
Properties pro = new Properties();
try {
pro.load(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
JDBC_DRIVER = pro.getProperty("oracle_jdbc_driver");
JDBC_URL = pro.getProperty("oracle_jdbc_url");
JDBC_USERNAME = pro.getProperty("oracle_jdbc_username");
JDBC_PASSWORD = pro.getProperty("oralce_jdbc_password");
}
private Connection openConnection(){
Connection con = null;
try {
Class.forName(JDBC_DRIVER).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection(JDBC_URL,JDBC_USERNAME, JDBC_PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public Map<String,Object> getMap(String sql,Object ob[]) {
Connection conn = openConnection();
PreparedStatement st = null;
ResultSet set = null;
Map<String, Object> rowData = null;
try {
st = conn.prepareStatement(sql);
rowData = null;
for (int i = 0; i < ob.length; i++) {
st.setObject(i+1, ob[i]);
}
set = st.executeQuery();
if(set != null){
ResultSetMetaData md = set.getMetaData(); //得到结果集(rs)的结构信息,比如字段数、字段名等
int columnCount = md.getColumnCount(); //返回此 ResultSet 对象中的列数
if(set.next()){
rowData = new HashMap<String,Object>(columnCount);
for (int i = 1; i <= columnCount; i++) {
rowData.put(md.getColumnLabel(i).toLowerCase(), set.getObject(i));
}
}
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
if(set != null){
try {
set.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(st!=null){
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return rowData;
}
public int update(String sql,Object ob[]){
Connection conn = openConnection();
PreparedStatement st = null;
int row = 0;
try {
st = conn.prepareStatement(sql);
for (int i = 0; i < ob.length; i++) {
st.setObject(i+1, ob[i]);
}
row = st.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally{
if(st!=null){
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return row;
}
}
展开全部
你没把oracle的jar包放到你的项目lib里
追问
炸包复制到.m2下了,就是加载不出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
凤凰湖见
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ojdbc6导包了吗?检查以下路径,数据库url没错吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询