Java JDBC连接Oracle

简介:

1. 安装Oracle数据库,我这里使用的是Oracle 12c

 

2. 创建Java工程 connection-oracle

注意:使用的JavaSE-1.8

 

3. 在Oracle的安装目录里,将djdbc8.jar 拷贝到java工程

路径为:C:\app\oracle\product\12.2.0\dbhome_1\jdbc\lib

 

4. 创建连接Oracle的java类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
public  class  OracleJdbcTest {
     //数据库连接对象
     private  static  Connection conn =  null ;
     
     private  static  String driver =  "oracle.jdbc.driver.OracleDriver" //驱动
     
     private  static  String url =  "jdbc:oracle:thin:@//127.0.0.1:1521/orcl" ; //连接字符串
     
     private  static  String username =  "system" //用户名
     
     private  static  String password =  "123456" //密码
     
     
     // 获得连接对象
     private  static  synchronized  Connection getConn(){
         if (conn ==  null ){
             try  {
                 Class.forName(driver);
                 conn = DriverManager.getConnection(url, username, password);
             catch  (ClassNotFoundException e) {
                 e.printStackTrace();
             } catch  (SQLException e) {
                 e.printStackTrace();
             }
         }
         return  conn;
     }
     
     //执行查询语句
     public  void  query(String sql,  boolean  isSelect)  throws  SQLException{
         PreparedStatement pstmt;
         
         try  {
             pstmt = getConn().prepareStatement(sql);
             //建立一个结果集,用来保存查询出来的结果
             ResultSet rs = pstmt.executeQuery();
             while  (rs.next()) {
                 String name = rs.getString( "name" );
                 System.out.println(name);
             }
             rs.close();
             pstmt.close();
         catch  (SQLException e) {
             e.printStackTrace();
         }
     }
     
     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();
         }
     }
     
}

  

5. 创建调用类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public  class  ConnOracle {
     public  static  void  main(String[] args)  throws  SQLException {
         OracleJdbcTest test =  new  OracleJdbcTest();
         try  {
             test.query( "drop table student" );
         catch  (SQLException e) {}
         
         test.query( "create table student(id int, name nchar(20))" );
         
         test.query( "insert into student values(1,'zhangsan')" );
         
         test.query( "insert into student values(2,'lisi')" );
         
         test.query( "select * from student" true );
         
         test.close();
     }
}

  

6. 显示结果



本文转自work hard work smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/p/8215677.html,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
Oracle Java 关系型数据库
【YashanDB知识库】如何配置jdbc驱动使getDatabaseProductName()返回Oracle
【YashanDB知识库】如何配置jdbc驱动使getDatabaseProductName()返回Oracle
|
19天前
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
211 28
|
1月前
|
SQL Oracle Java
【YashanDB知识库】oracle与yashanDB的jdbc返回常量列"0.00"的精度和刻度不一致
本文分析了YashanDB中一个客户遇到的问题:常量列"0.00"在Java中被错误映射为整型而非浮点型,导致查询失败。问题源于Oracle与YashanDB的JDBC驱动对常量列"0.00"精度和刻度处理的差异。在未定义状态下,Oracle返回的精度和刻度值可能导致Java程序误判类型。解决方法是修改Java程序,统一使用Decimal类型接收数据,并根据实际字符类型解析。文章提醒,在从Oracle迁移到YashanDB时,需特别注意数值类型的处理差异,避免类似问题发生。
|
2月前
|
SQL Oracle Java
【YashanDB 知识库】oracle 与 yashanDB 的 jdbc 返回常量列"0.00"的精度和刻度不一致
oracle 数值类型只有 number 类型,float 和 integer 都只是 number 类型的子类。 且 oracle 的类型 number 类型还有未定义状态,此时取精度(precision)和刻度(scale) 都是不准确的,如果是未定义状态,还是通过精度和刻度判断是否能够转换为整型也是不严谨的,
|
6月前
|
SQL Oracle 关系型数据库
Python连接Oracle
Python连接Oracle
69 0
|
8月前
|
Oracle 关系型数据库
Navicat 连接Oracle ORA-28547: connection to server failed, probable Oracle Net admin error
Navicat 连接Oracle ORA-28547: connection to server failed, probable Oracle Net admin error
209 0
|
10月前
|
Oracle 数据可视化 关系型数据库
Oracle数据库安装及使用Navicat连接oracle2
Oracle数据库安装及使用Navicat连接oracle
108 1
|
10月前
|
Oracle 关系型数据库 数据库
实时计算 Flink版产品使用问题之连接到Oracle数据库但无法读取到数据,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
10月前
|
Oracle 安全 关系型数据库
Oracle数据库安装及使用Navicat连接oracle1
Oracle数据库安装及使用Navicat连接oracle
156 0

推荐镜像

更多
下一篇
oss创建bucket