用java连接Oracle 11g

2023-11-14

了解一下JDBC

JDBC 是连接数据库的程序模块,由JSP应用程序,JDBC API,JDBC DriverManager(JDBC驱动管理器), JDBC驱动程序和数据库几部分组成。java应用程序通过JDBC API访问JDBC驱动管理器,JDBC驱动管理器载入相应的JDBC驱动程序,然后执行相应的数据库操作。
在这里插入图片描述

切入正题

  1. 首先下载连接数据库驱动的jar包(可去官网下载),或者在Oracle的安装目录下找到ojdbc6.jar包,路径:\app\oracle\product\12.2.0\dbhome_1\jdbc\lib(至于哪个盘符看自己的下载)
    在这里插入图片描述2.把ojdbc6.jar 拷贝到Tomcat的lib目录下,默认路径为: C:\Program Files\Apache Software Foundation\Tomcat 8.0\lib

上述操作完成后就是JDBC建立数据库连接部分:

  1. 加入命令行
    <%@ page import=“java.sql.*” %>

  2. 加载驱动程序
    Class.forName(“oracle.jdbc.driver.OracleDriver”);

  3. 建立连接
    Connection conn=null; conn=DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:ORCL”,“username”,“password”);

    :(1) ‘ORCL’ 是你的数据库系统实例名称,可以用以下语句查看。

    –查看当前数据库实例名
    select name from v$database;

    (2) jdbc:oracle:thin:@计算机名称:监听端口:系统实例名", username, password,
    **计算机名称,要是自己不知道可以在计算机属性查知。

    ** 监听端口一般默认是1521, 要是改变了就看自己的监听文件 listener.ora。
    **username,password,就是登陆数据库的用户名和密码。

  4. 发送sql 语句
    Statement stmt=null;
    stmt=conn.createStatement();

  5. 建立ResultSet 结果集对象
    ResultSet rs;

  6. 执行sql 语句
    rs=stmt.executeQuery(sql);

  7. 关闭对象
    rs.close();
    stmt.close();
    conn.close();

完成上述操作基本也就可以了,以下是我整理的代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
  <%@ page import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
   <%
      String userName=request.getParameter("userName").trim();
      String psWord=request.getParameter("psWord").trim();
  
      Connection conn=null;
      Statement stmt=null;
      PreparedStatement pstmt = null ;
      ResultSet rs = null ;
      try {
    	  //加载驱动
          Class.forName("oracle.jdbc.driver.OracleDriver"); 
          //建立连接
          conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL","scott","116688");
          //发送sql语句
          stmt=conn.createStatement();  
          //建立ResultSet结果集对象,执行sql语句
          String sql = "select username,password from userformation where username='"+userName+"' AND password="+psWord+" ";
          
          rs=stmt.executeQuery(sql);
          if(rs.next()){
       %>
    	         <jsp:forward page="success.jsp"/>
    	<%
    	  }
          else { 
        %>
        	         <jsp:forward page="failure.jsp"/>
        <%   }
          System.out.print(sql);
    	
          rs.close();        //关闭ResultSet对象
      } 
      catch (Exception e) {
    	  out.println(e.getMessage());
      } 
       stmt.close();            //关闭Statement对象
       conn.close();            //关闭Connection对象
      
    %>
</body>
</html>

Last but not least

在Oracle 数据库里插入数据时一定要记得commit 提交!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用java连接Oracle 11g 的相关文章

  • Jekyll 在子网站上生成静态网站?

    是否可以将 Jekyll 放在 GitHub 上托管的网站的单个部分上 即是否可以让 example github io 成为常规站点 而 example github io blog 由 Jekyll 静态生成 我相信可以通过创建另一个名
  • Ruby On Rails - 在控制器中使用关注点

    可能的菜鸟警告 刚接触 RoR 我正在尝试在 RoR 中使用关注点 现在我只写了一个非常简单的问题 app controllers concerns foo rb module Foo extend ActiveSupport Concer
  • 对同一域发出 get 请求,出现 CORS 错误

    在浏览器扩展中 这是我的 ajax 调用 var xhr new XMLHttpRequest xhr open GET window location href true xhr responseType arraybuffer xhr
  • Phonegap - cordova 在 Android 和 iOS 设备上延迟且缓慢

    我刚刚开始使用 zend studio 开始我的第一个 PhoneGap 项目 但是 在我构建并部署它之后 该应用程序非常慢 Android 和 iOS 均可 滚动滞后 如果我按下按钮 转到下一页的速度很慢 有什么办法可以提高它的性能吗 提
  • Web Api - 不允许捕获 405 方法

    截至目前 Web api 应用程序针对 405 方法不允许错误返回以下响应正文 我正在尝试更改响应正文 但我不知道如何使用委托处理程序 ApiControllerActionSelector 或过滤器 谁能帮我捕获服务器端的 405 错误
  • MVC4更新部分视图

    我正在开发一个简单的 MVC 应用程序 我有主视图 部分视图和控制器 这是我的主要视图 model partitalViewTest Models Qset div class transbox style height 1 Html Pa
  • 诸如用于测试 HTTP 请求的虚拟 REST 服务器之类的东西? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我一直在四处寻找 但找不到任何这样的网站 我想知道是否有一些虚拟服务器可以响应测试 GET 请求并返回
  • 重新加载更新的 javascript> 代码而不完全重新加载 html 页面

    我正在开发一个单页 Web 应用程序 它具有许多不同的功能和形式 当开发一个深度 我的意思是主页上没有的 功能时 我会经历这个循环 开发代码 编辑类和函数 刷新整个页面 一路点击 直到到达我需要测试的部分 有时加起来大约一分钟 测试新代码
  • 为什么 [System.ComponentModel.ToolboxItem(false)] 默认出现在 Asp.net Web 服务中

    谁能告诉我为什么 System ComponentModel ToolboxItem false 是在Asp net Web服务中使用的吗 或许你可以在这里找到一些答案 NET API 浏览器 ToolboxItemAttribute 布尔
  • 如何用 C 语言通过 HTTP 协议发送图像?

    我是一名正在做网络服务器练习的学生 我需要一些帮助 我的网络服务器在文本页面上运行良好 但是每当浏览器发送一个 GET img jpg HTTP 1 1请求 我不知道如何处理 我听说 HTTP 协议是基于文本的 那么如何在 HTTP 响应中
  • 确定网站的唯一访问者

    我正在创建一个 django 网站 使用 Apache2 作为服务器 我需要一种方法来以完整的证据方式确定我的网站 特别是每个页面 的唯一访问者数量 不幸的是 用户会有很大的动机去尝试 玩弄 跟踪系统 所以我正在努力证明这一点 有什么办法可
  • 如何在您的网站中连接两个人

    有一款名为 Verbosity 的游戏 这是一款有目的的游戏 位于此链接上www gwap com 在游戏中 他们随机连接两个玩家互相玩 游戏是玩家1应该向他的搭档 玩家2 描述一个单词 而玩家2应该猜测这个单词 我正在尝试建立一个网站来执
  • 如何从我的网站发送电子邮件? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在一个网站上工作 我是这个领域的新手 我已经制作了一个网站 但我在 联系我们 表单中遇到了问题 在这种形式中 我制作了四个文本框
  • Bootstrap - 为反向行模式创建移动自适应

    我想用 Bootstrap 创建一个反向效果 第一行 左边是文字 右边是图像 第二行 左边是图片 右边是文字 第三行 左边是文字 右边是图片 第四行 左边是图片 右边是文字 而且这种情况一直持续下去 它在大型设备上看起来非常漂亮 但当它在设
  • 从动态服务器中抓取 html 列表数据

    哈喽大家好 抱歉提出转储问题 这是我最后的手段 我发誓我尝试了无数其他 Stackoverflow 问题 不同的框架等 但这些似乎没有帮助 我有以下问题 一个网站显示一个数据列表 前面有大量的 div li span 等标签 它是一个很大的
  • Drupal 模板/主题资源或建议?

    我有兴趣为我正在开发的 Drupal 网站创建自定义主题 我是 Drupal 的新手 但是我在处理构建主题 CSS PHP HTML 所需的基本概念方面拥有相当多的经验 所以 我的问题是 我从哪里开始 有创建 Drupal 主题的规范指南吗
  • 如何修复/解决 java.lang.reflect.InitationTargetException

    我有一个关于一个特别烦人的错误的问题 我一直无法弄清楚 更不用说克服了 每当我尝试在网站上运行 Java 小程序 Applet 或 JApplet 时 都会弹出此错误 java lang reflect InvocationTargetEx
  • 是否可以下载网站的完整代码、HTML、CSS 和 JavaScript 文件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否可以完全下载网站或查看其所有代码 例如 我知道您可以在浏览器中查看页面源代码 但是有没有办法下载所有网站代码 例如 HTML CSS
  • 在 Ruby 中创建带有静态页面的博客的最佳方法

    我刚刚访问了静态网站生成 http www ruby toolbox com categories static website generation html on 红宝石工具箱 http www ruby toolbox com 我不知
  • 遭受xss攻击后如何恢复站点?

    最近我正在研究XSS攻击以及它们对网站的破坏性有多大 让我惊讶的是 网络 even SO 充满了关于如何防止xss攻击但没有相关资源说明如何在网站受到 xss 攻击后恢复网站 我遇到过一些事情 比如 将备份网站代码上传回服务器 下载整个网站

随机推荐

  • 基于MATLAB的BP神经网络的数据分类

    1 BP神经网络的简介 BP神经网络是一种多层前馈神经网络 该网络的主要特点是信号前向传递 误差反向传播 在前向传递中 输入信号从输出层经隐含层逐层处理 直至输出层 每一层神经元状态只会影响下一层神经元状态 如果输出层得不到期望输出 则转入
  • 添加视频字幕后期制作Premiere Pro 2022中文

    Premiere Pro 2022是一款PR视频剪辑软件 同时支持M1 M2芯片和Intel芯片安装 可以帮助用户提升自己的创作能力和创作自由度 具有易学 高效 精确的优点 可为用户提供采集 剪辑 调色 美化音频 字幕添加 输出 DVD刻录
  • Google发布VS Code,支持Kubernetes应用开发

    VS Code以及IntelliJ适合用来开发本地端应用开发 但在开发云端应用的时候 Google提到 因为本地端与云端执行环境的差异 部分云端应用会抱错误 要在开发周期的后期才能被发现 而Cloud Codes能有效改善这个问题 由于是第
  • Ubuntu实时监控网速、CPU、内存

    Ubuntu实时监控网速 CPU 内存 sudo add apt repository ppa fossfreedom indicator sysmonitor sudo apt get update sudo apt get instal
  • 【Python】数据可视化-散点图绘制

    Python在数据科学中拥有十分重要的地位 numpy scipy pandas scikit learn这些高效易用 接口统一的科学计算包使其在数据分析处理过程更加方便快捷 其强大的数据可视化工具也是重要组成部分 在Python中 使用的
  • linux基本命令与终端操作、linux命令英文全称解释、ls clear cd pwd cat touch cp rm rmdir mkdir mv file find grep sudo su

    linux终端的命令提示符 命令提示符由四部分组成 当前登陆的用户名 主机名 当前所在目录 用户提示符 linux基本命令 查看目录下文件及文件夹 ls 英文全称 助记 list 命令参数 a all 输出所有文件及文件夹 包括隐藏文件 l
  • LoFTR配置运行: Detector-Free Local Feature Matching with Transformers ubuntu18.04 预训练模型分享

    刚装好系统的空白系统ubuntu18 04安装 首先进入 软件与更新 换到国内源 论文下载 代码下载 1 anaconda 3 5 3 安装 Index of anaconda archive 清华大学开源软件镜像站 Tsinghua Op
  • Redis进阶

    一 Redis集群和分布式锁 1 1 Redis集群的概念和优势 Redis集群是一种分布式系统架构 它将多个Redis实例组成一个逻辑集群 实现数据的分布式存储和高可用性 每个Redis实例负责存储集群中的一部分数据 通过节点之间的协调和
  • 【Git】Linux系统下Git的升级

    Git 在很多发行版的 Linux 系统里的版本都很低 比如说比 2 18 这个版本还低 这里比较的一般就是码农的本地环境 因为本地 Mac 系统等等大家经常用到的预装的 Git 的版本都比较深 Git 的版本太低有很多衍生问题 除了本身
  • ROS中使用VLP16激光雷达获取点云数据

    ROS中使用VLP16激光雷达获取点云数据 个人博客地址 本文测试环境为 Ubuntu20 04 ROS Noetic 需要将激光雷达与PC连接 然后在设置 gt 网络 gt 有线中将IPv4改为手动 并且地址为192 168 1 100
  • Linux----一条命令更改主机名(临时

    前言 看了些许关于更改主机名的博客 觉得不够简单 略为繁琐 现在介绍两种极其简单的方法来修改主机名 hostname 查看当前主机名 一 临时修改主机名 hostname kiosk kiosk为想要更改的主机名 示例 注意 重启后即失效
  • Java中的private、protected、public和default的区别

    这个问题 应该很老了 但是确实是重点中的重点 如果没有真正的都用过这些修饰符 其实对其的作用并不深刻 我也没用过默认的修饰符 所以有时候也总把friendly和protected搞混 还因为这个丢失了一次很好的工作机会 随意今天又重新弄了一
  • STM32 CAN/CANFD软件快速配置(HAL库版本)

    STM32 CAN CANFD软件快速配置 HAL库版本 目录 STM32 CAN CANFD软件快速配置 HAL库版本 前言 1 软件编程 1 1 建立工程 1 2 初始化 1 2 1 引脚设置 1 2 2 CAN基本参数设置 1 2 3
  • 【计算机网络】湖科大微课堂笔记 p4-p6 计算机网络的定义和分类、性能指标

    计算机网络的定义和分类 了解 定义 此图是否是计算机网络 不是 因为它不自治 分类 广域网是因特网的核心部分 四种拓扑结构的网络 优缺点在视频里7 45 9 10 计算机网络的性能指标 常用的性能指标有以下8个 速率 带宽 吞吐量 时延 时
  • poll和epoll及实现epoll网络服务器

    I O多路转接之poll poll函数原型 参数解释 参数 解释 fds 是 个poll函数监听的结构列表 nfds 表示fds数组的长度 timeout 表示poll函数的超时时间 单位是毫秒 ms pollfd结构 那么fds是一个什么
  • 基于嵌入式Qt的输入法syszuxpinyin自动弹出软件盘的问题

    移植好的syszuxpinyin输入法能正常的检测到控件焦点并自动弹出软键盘 当使用默认的QLineEdit控件时就有了一些小小的问题 问题一 QLineEditt在默认情况下会自动出现焦点 从而导致一进入界面就弹出软键盘 但是我们需要点击
  • springboot打jar包供第三方使用(以回调为例)

    前言 有时我们需要封装功能类库供第三方使用 这时候打包和我们平时发布项目有所不同 假设我们现在要对外提供一个计算功能 使用者只需要传入计算参数就能实现结果异步返回 最后还得对jar包进行混淆 目录 前言 1 编写回调函数类 2 直接打JAR
  • python实现画雪景(二级python书中实例)

    from turtle import from random import def snow hideturtle pensize 2 for i in range 100 r g b random random random pencol
  • 【opencv】linux下生成libopencv_world.so

    一个项目需要用到linux下libopencv world so 按照网上诸多 linux下安装opencv 教程 发现都没有生成libopencv world so的方法 然后偶然间搜到了window编译opencv方法中可以通过开启BU
  • 用java连接Oracle 11g

    了解一下JDBC JDBC 是连接数据库的程序模块 由JSP应用程序 JDBC API JDBC DriverManager JDBC驱动管理器 JDBC驱动程序和数据库几部分组成 java应用程序通过JDBC API访问JDBC驱动管理器