分享

使用JDBC连接Oracle数据库

 xfxyxh 2022-10-17 发布于湖南

引入依赖:

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.4</version>
</dependency>
  1. package com.easyUtils.core.lang;
  2. import com.easyUtils.common.DayInfo;
  3. import javax.swing.*;
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.ResultSet;
  7. import java.sql.Statement;
  8. import java.sql.ResultSetMetaData;
  9. import java.text.SimpleDateFormat;
  10. import java.util.ArrayList;
  11. import java.util.Calendar;
  12. import java.util.Date;
  13. import java.util.List;
  14. public class JDBC {
  15. private String user;
  16. private String pass;
  17. private String url;
  18. private Connection conn = null;//连接对象
  19. private ResultSet rs = null;//结果集对象
  20. private Statement sm = null;
  21. /**
  22. * 构造函数获得数据库用户名和密码
  23. *
  24. * @param user
  25. * @param pass
  26. */
  27. public JDBC(String user, String pass) {
  28. this.user = user;
  29. this.pass = pass;
  30. this.url = "jdbc:oracle:thin:@10.100.12.33:1521:orcl19c";
  31. }
  32. /**
  33. * 连接数据库
  34. *
  35. * @return
  36. */
  37. public Connection createConnection() {
  38. String sDBDriver = "oracle.jdbc.driver.OracleDriver";
  39. try {
  40. Class.forName(sDBDriver).newInstance();
  41. conn = DriverManager.getConnection(url, user, pass);
  42. } catch (Exception e) {
  43. System.out.println("数据库连接失败");
  44. e.printStackTrace();
  45. }
  46. return conn;
  47. }
  48. /**
  49. * 关闭数据库
  50. *
  51. * @param conn
  52. */
  53. public void closeConnection(Connection conn) {
  54. try {
  55. if (conn != null) {
  56. conn.close();
  57. }
  58. } catch (Exception e) {
  59. System.out.println("数据库关闭失败");
  60. e.printStackTrace();
  61. }
  62. }
  63. /**
  64. * 插入数据
  65. *
  66. * @param insert 插入语句
  67. * @return
  68. */
  69. public int insert(String insert) {
  70. conn = createConnection();
  71. //String insert = "insert into t_department values('D004','金融部')";
  72. int re = 0;
  73. try {
  74. conn.setAutoCommit(false);//事物开始
  75. sm = conn.createStatement();
  76. re = sm.executeUpdate(insert);
  77. if (re < 0) { //插入失败
  78. conn.rollback(); //回滚
  79. sm.close();
  80. closeConnection(conn);
  81. return re;
  82. }
  83. conn.commit(); //插入正常
  84. System.out.println("插入成功");
  85. sm.close();
  86. closeConnection(conn);
  87. return re;
  88. } catch (Exception e) {
  89. e.printStackTrace();
  90. }
  91. closeConnection(conn);
  92. return 0;
  93. }
  94. /**
  95. * 查询语句
  96. * 返回结果集
  97. *
  98. * @param select
  99. * @return
  100. */
  101. public ResultSet selectSql(String select) {
  102. conn = createConnection();
  103. try {
  104. sm = conn.createStatement();
  105. rs = sm.executeQuery(select);
  106. return rs;
  107. } catch (Exception e) {
  108. e.printStackTrace();
  109. }
  110. return null;
  111. }
  112. /**
  113. * 根据结果集输出
  114. *
  115. * @param rs
  116. */
  117. public void printRs(ResultSet rs) {
  118. int columnsCount = 0;
  119. boolean f = false;
  120. try {
  121. if (!rs.next()) {
  122. return;
  123. }
  124. ResultSetMetaData rsmd = rs.getMetaData();
  125. columnsCount = rsmd.getColumnCount();//数据集的列数
  126. for (int i = 0; i < columnsCount; i++) {
  127. System.out.print(rsmd.getColumnLabel(i + 1) + "/n"); //输出列名
  128. }
  129. System.out.println();
  130. while (!f) {
  131. for (int i = 1; i <= columnsCount; i++) {
  132. //System.out.print(rs.getString(i)+"/t");
  133. //逻辑处理
  134. String name = rs.getString("NAME");
  135. System.out.print(rs.getString("NAME") + "/n");
  136. }
  137. System.out.println();
  138. if (!rs.next()) {
  139. f = true;
  140. }
  141. }
  142. rs.close();
  143. } catch (Exception e) {
  144. e.printStackTrace();
  145. }
  146. closeConnection(conn);
  147. }
  148. public static void main(String[] args) {
  149. //解析excle 文件
  150. JDBC jDBC = new JDBC("BGDOMS_HRFS_TEST", "spd#8899@2022");
  151. String insert = "insert into HRFS_PROJECT values('D005','外交部')";
  152. System.out.println(jDBC.insert(insert));//插入成功
  153. String select = "select * from HRFS_PROJECT";
  154. jDBC.printRs(jDBC.selectSql(select));
  155. System.out.println("结束");
  156. }
  157. }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多