Java 连接 Oracle19c
前言
作者本人是一位在校大学生,在学习过程中,将遇到的问题总结下来,分享到网上,供大家参考。学习过程中,本应该是用oracle10 + ojdb6 + jdk8 无奈由于电脑原因安装不上oracle10 所以去网上寻找别的版本.最后锁定安装oracle19c + ojdb10 + jdk11
1.安装Oracle
注意:关闭杀毒软件,360、金山毒霸等等,避免因为禁止修改权限造成无法安装的问题。
- oracle安装
- SQL Developer安装(图像化界面)
安装流程链接: https://blog.csdn.net/weixin_44340836/article/details/112464663.(转载)
(最好将链接复制粘贴到浏览器 不然直接点链接会提示页面丢失)
注:上面所链接的文章中SQL Developer 的链接地址有问题
- SQL Developer 链接:
https://www.oracle.com/tools/downloads/sqldev-downloads.html.
(最好将链接复制粘贴到浏览器 不然直接点链接会提示页面丢失)
- Oracle账号:
Oracle账号和密码(转载)
2.数据库(图像化页面工具中)操作
-
登录数据库
-
建立person表
create table person(
pid number(10),
name varchar2(10),
gender number(1) default 1,
birthday date
);
- 插入数据
insert into person(pid, name, gender, birthday)
values(1, '张三', 1, to_date('1999-12-22', 'yyyy-MM-dd'));
insert into person(pid, name, gender, birthday)
values(2, '李四', 2, to_date('1999-12-22', 'yyyy-MM-dd'));
insert into person(pid, name, gender, birthday)
values(3, '王五', 1, to_date('1999-12-22', 'yyyy-MM-dd'));
insert into person(pid, name, gender, birthday)
values(4, '赵六', 2, to_date('1999-12-22', 'yyyy-MM-dd'));
- 查看数据
select * from person where pid = 1;
3.Java连接准备操作
-
下载对应jar包
oracle连接数据库的jar包(ojdbc10.jar,ojdbc8.jar,ojdbc6.jar)
链接:https://pan.baidu.com/s/1agHs5vWeXf90r3OEeVGniw
提取码:wsgm
复制这段内容后打开百度网盘手机App,操作更方便哦 -
oracle19c 对应的 jar包
-
先将下载好的jar包如下地址中
H:\Java\my_maven\apache-maven-3.5.2\lib
- 通过maven语句将jar包安装到maven库中
mvn install:install-file -DgroupId=com.oracle.jdbc -DartifactId=ojdbc10 -Dversion=19.3.0.0 -Dpackaging=jar -Dfile=H:\Java\my_maven\apache-maven-3.5.2\lib\ojdbc10.jar
此时已经导入成功
- 查看maven 的 maven_repositories库
此时库中已经有了jar包
- 在自己创建的maven项目中配置pom.xml文件
<dependencies>
<dependency>
<groupId>com.oracle.jdbc</groupId>
<artifactId>ojdbc10</artifactId>
<version>19.3.0.0</version>
<scope>runtime</scope>
</dependency>
</dependencies>
4.Java连接oracle代码编写
public void javaCallOracle() throws Exception {
//加载数据库驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//得到Connection连接
Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "system", "Oracle123456");
//得到预编译的Statement对象
PreparedStatement pstm = connection.prepareStatement("select * from person where pid = ?");
//给参数赋值
pstm.setObject(1, 1);
//执行数据库查询操作
ResultSet rs = pstm.executeQuery();
//输出结果
while(rs.next()){
System.out.println(rs.getString("name"));
}
//释放资源
rs.close();
pstm.close();
connection.close();
}
开始使用的 jdk8 会报版本错误问题 可能是因为 oracle19c 和 ojdb10 版本过高,与 jdk8 版本不匹配。
作者本人选择的是 jdk11
5.结果测试
此时已成功读取到数据库中第一行数据的name