1.导入与Oracle版本相对应的ojdbc包
网上导入的教程都有,不过都是导入的ojdbc6,我装的Oracle版本是21c的,ojdbc6包并不能使用,这里使用的是ojdbc8的包,一定一定得注意导入的包版本要跟Oracle相对应。
2.导入之后就是加载驱动包,与数据库进行连接了。
public class ConnToOracle {
private static String driverClass="oracle.jdbc.driver.OracleDriver"; //oracle的驱动
private static String url="jdbc:oracle:thin:@localhost:1521:COMPTEST"; //连接oracle路径方式 “”gfs“”是要建立连接的数据库名 1521端口
//private String user="system"; //user是数据库的用户名
//private String password="HeXu0607"; //用户登录密码COMPTEST
public static Connection getConn(String user, String password){
Connection conn = null;
try {
Class.forName(driverClass);
conn = DriverManager.getConnection(url, user, password);
System.out.println("connect to Oracle!");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static void closeConn(Connection conn) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这里唯一需要注意的是url的书写,网上有说根据连接的是服务名和SID的不同,url会有一些细微的改变,好像是服务名的话会在localhost前面再加上一个冒号,不过最后好像不加也可以,而且如果使用的是IDEA,这个url的串IDEA是可以帮你自动生成的。
java连接Oracle这一块儿可以参考下面两个博客:
https://blog.csdn.net/qq_43227036/article/details/105378296
https://blog.csdn.net/he__xu/article/details/83410966
3.增删改查可以去看看上面的博客,挺详细的。
4.遇到的bug
1)java.sql.SQLException: ORA-01017: 用户名/口令无效; 登录被拒绝
这个可能是因为你在创建数据库的时候没有进行对应的授权。
因为原来的创建的代码不在,这里就找了一下之前学习的博客里面的知识。
该博客链接:
https://blog.csdn.net/HXChuangxiaochuan/article/details/80542576
2)java.sql.SQLSyntaxErrorException: ORA-00922: 选项缺失或无效
只是因为java连接Oracle之后,执行的SQL语句不能以分号结尾,去掉分号就对了。
学习播客:
https://www.cnblogs.com/wmjtxt/p/10064365.html