环境:
jdk1.8
oracle11g
plsql
开发工具IDEA
导致报错原因ojdbc版本问题。
使用ojdbc8的时候报错,如图:
后来换了6就可以了,如图:
另外提示下,注意oracle数据库的监听服务,一定要启动起来。
测试代码:
import java.sql.*;
/**
* @description:
* @author: 冒菜
* @date: 2019-06-18 15:59
*/
public class OracleJDBCTest {
private static Connection conn = null;
private static String driver = "oracle.jdbc.driver.OracleDriver"; //驱动
private static String url = "jdbc:oracle:thin:@你的IP:你的端口:你的数据库";
private static String username = "aaa"; //用户名
private static String password = "aaa"; //密码
// 获得连接对象
private static synchronized Connection getConn(){
if(conn == null){
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (SQLException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
}
return conn;
}
public void query(String sql) throws SQLException{
PreparedStatement pstmt;
pstmt = getConn().prepareStatement(sql);
pstmt.execute();
pstmt.close();
}
//关闭连接
public void close(){
try {
getConn().close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}