JDBC流程

2023-10-29

JDBC

JAVA 访问数据库的技术:

Jdbc是一种Java连接数据库技术(Java database connectity), 它是 Java 提供的一些接口,这些接口大部分是数据库厂商提供的(jar包),我们要做的,是连接数据库以后,如何使用Java代码从数据库中存取数据!

 

Jdbc开发步骤

1. 引包:

2. 开启MySQL服务,

如何没有开启会报错:

 

3.准备好数据库

4.进入开发阶段

4.1注册数据库驱动

//MySQL驱动固定写法!注意是”MySQL数据库的驱动

Class.forName("com.mysql.jdbc.Driver");

 

4.2和数据库建立连接

连接数据库必要的参数:

URL: 访问数据库的地址:写法:

            jdbc:mysql://数据库所在Ip地址:数据库端口/数据库的名字

name : 要连接的数据库的账户名

password : 要连接数据库的用户密码

//找到本机的数据库应用,3306是数据库的默认端口 8080是tomkat的默认端口
String url = "jdbc:mysql://localhost:3306/student";
String name = "root";//将要连接数据库的账户
String password = "root";//将要连接数据库的密码
Connection connection = DriverManager.getConnection(url,name,password);

4.3获得执行sql语句的对象

用于执行SQL语句

PreparedStatement接口继承了Statement,
Statement(固定),和 PreparedStatement(可变参数) 是SQL语句的两种执行方式

 

1.在遇到要执行的SQL语句是带可变参数的时候,就用PreparedStatement对象,应为PreparedStatement可以用占位符将SQL语句加入可变参数!:

String sql = "insert into user(sno,name,age)values(?,?,?)";//定义一个要执行的SQL语句
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1,student.getSno());//设置SQL语句的第一个参数
ps.setString(2,student.getName());//设置SQL语句的第二个参数
ps.setInt(3,student.getAge());//设置SQL语句的第三个参数

 

2.当要执行的SQL语句的是不带可变参数的时(就是SQL语句不变时!):

String sql = "SELECT * FROM user";
    Statement statement = connection.createStatement();//sql语句的执行对象
    ResultSet row = statement.executeQuery(sql);//执行SQL语句

 

PreparedStatement Statement的区别:

PreparedStatement:用户通过你系统输入变量时,变量将加入你的SQL语句,这样就能在不知道你的用户输入的情况下,获取信息

4.4执行SQL语句

两种语句:

  1).不用返回数据库信息:

,删,改

exexuteUpdate() 方法返回一个整形(对数据库影响的行数)

2).需要返回数据库信息:

exexuteQuery() 方法返回一个结果集对象(Resultest 在数据库中查到的一条数据)

读取返回对象集中的数据的方法: (就是集合的迭代器)

Resultest.next()能够返回给你还有没有记录,

getObjeck方法,读取一条记录里面字段所对应的值 

 

4.5处理执行后的结果

调用Dao的方法后返回一个结果给servlet servlet进行处理!:如:

int row = UserDAD.insert(student);
if (row==1){
    jsonObject.put("code",1);
    jsonObject.put("msg","添加成功");
    jsonObject.put("data",student);
}else {
    jsonObject.put("code",2);
    jsonObject.put("msg","添加失败");
}

 

4.6 释放资源

将用到的传输有关的对象再传输完成后统统释放!  :

ps.close();
connection.close();

 

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

JDBC流程 的相关文章

  • DVWA学习之XSS(跨站脚本攻击)(超级详细)

    DVWA学习之XSS XSS 跨站脚本攻击 0x01 XSS Cross Site Script 简介 0x02 何为XSS 0x03 XSS存在的原因 0x04 XSS漏洞的危害 0x05 XSS 的分类及特点 1 存储型XSS 2 反射
  • 初识C语言(3)

    目录 8 函数 函数的特点就是简化代码 代码复用 9 数组 要存储 1 10 的数字 怎么存储 C 语言中给了数组的定义 一组相同类型元素的集合 9 1数组的定义 9 2数组的下标 C 语言规定 数组的每个元素都有一个下标 下标是从 0 开
  • 人工智能——机器学习,数据特征预处理,数据降维

    数据特征预处理 数据降维 处理方法 1 数值型数据 标准缩放 1 归一化 2 标准化 3 缺失值 2 类别型数据 one hot 编码 3 时间类型 时间的切分 下面是归一
  • Git --- 基础介绍

    Git 基础介绍 git 是什么 git 工作区 暂存区 资源库 git 文件状态 git branch 和 HEAD git 一次正常的git提交流程 git 是什么 Git是一款分布式源代码管理工具 版本控制工具 Git和其他传统版本控
  • HTTP 与 HTTPS 的区别

    HTTP 与 HTTPS 的区别 文章目录 HTTP 与 HTTPS 的区别 前言 一 基本概念 二 HTTP 与 HTTPS 区别 三 TCP 三次握手 四 HTTPS 的工作原理 我的公众号 前言 一 基本概念 HTTP HyperTe
  • 基于SSM+Vue游戏商城系统Java游戏攻略网站(源码调试+讲解+文档)

    作者 计算机源码社 个人简介 本人七年开发经验 擅长Java 微信小程序 Python Android等 大家有这一块的问题可以一起交流 学习资料 程序开发 技术解答 代码讲解 文档报告 JavaWeb项目 微信小程序项目 Python项目
  • Servlet(GenericServlet相关)

    Servlet是用于实现web浏览器和java程序的对应关系 通过浏览器请求服务器调用对应的java程序 就是Servlet的主要功能 一个使用Servlet的类必须实现Servlet接口 implements Servlet 并且实现其中
  • 服务器巡检规范

    服务器巡检规范 01 服务器主机巡检规范 02 服务器日常巡检细则 03 管理员账号管理规范 04 用户服务器系统使用规范 05 机房来访人员管理规范 06 主机防火墙管理规范 07 组织容器命名规范 08 服务器主机名命名规范 01 服务
  • js是如何单线程执行的

    据大家所知 js都是单线程执行的 那么就会接触到线程与进程 同步执行与异步执行 以及js单线程执行原理概念 一 进程与线程的概念 1 1 进程 进程是CPU进行资源分配的基本单位 浏览器使用的是多进程 一个标签对应一个进程 此进程负责管理各
  • 【视音频编程学习】开源音频加速方案Sonic、SoundTouch对比及实时处理音频的实验分析

    语音变速不变调是指保持音调和语义保持不变 语速变快或变慢 该过程表现为语谱图在时间轴上如手风琴般压缩或者扩展 那也就是说 基频值几乎不变 对应于音调不变 整个时间过程被压缩或者扩展 声门周期的数目减小或者增加 即声道运动速率发生改变 语速也
  • 分布式架构之服务注册中心选型

    互联网架构下 大部分系统已经转型分布式 其中服务注册发现中心 分布式服务中非常重要的组成部分 按需选择合适的注册中心 也变的尤为重要 一 Eureka Eureka是SpringCloud全家桶中非常重要的一个组件 主要是实现服务的注册和发
  • STL项目练习 - 实现一个通用的容器

    STL项目练习 实现一个通用的容器 能够支持插入多种不同的普通类型 包含 int char float double 等 和自定义结构体和自定义类的对象 并能根据每种不同类型的比较规则从容器中取得最大或最小的那个值或对象 分 析 通用的容器
  • 文档看得太迷糊?使用Unity开发增强现实/虚拟现实应用(AR/VR APP) 书籍和文档的阅读心得

    自己上手开发了两三个AR APP之后 用Unity进行AR VR APP开发算是入了门 反思一下自己使用过的资料 技术书籍 一开始是找比较新的技术书籍看 因为直接看文档有些难度 对于有Unity基础 想上手开发AR APP的开发者 我强烈推
  • Android 开发 之 JNI入门 - NDK从入门到精通

    NDK项目源码地址 第一个JNI示例程序下载 GitHub https github com han1202012 NDKHelloworld git Java传递参数给C语言实例程序 GitHub https github com han
  • Java教程:Rabbitmq监听器,用于监听topic类型消息队列,并进行业务处理

    本章介绍如何使用Rabbitmq监听器 用于监听topic类型消息队列 并进行业务处理 源码 import cn hutool json JSONUtil import com alibaba fastjson JSONObject imp
  • maven checkstyle NewlineAtEndOfFile 的处理

    环境 mvn3 x jdk1 7 git 1 9 checkstyle6 2 错误 checkstyle 检查编码规范失败 原因 NewlineAtEndOfFile 解决办法 处于代码规范考虑 该文件末尾需一个换行 这个办法很容易想到 但
  • 华为手机微信分身无法连接服务器,华为手机应用分身怎么使用?教你开启和关闭方法...

    原标题 华为手机应用分身怎么使用 教你开启和关闭方法 相信很多人都会希望工作和生活分开来 不想让工作打扰到生活 就拿手机的软件来说 比如微信 里面有我们很多亲朋好友 对很多人来说微信是比较私人的一个通讯工具 里面加的都是自己比较亲近的人 所
  • flask+nginx+uwsgi部署服务器(详细保姆级教程)

    从零开始部署flask项目 概要 准备工作 服务器 Xshell Xftp 7 部署flask 方案选择 python3安装 安装uwsgi 安装nginx nginx和uwsgi的配置 配置nginx 配置uwsgi 部署成功 概要 本次
  • mysql导入数据报Unknown command ‘\f‘.异常处理方法

    mysql gt select from fruits 查看fruits表中的数据 f id s id f name f price a1 101 apple 5 20 b1 101 blackberry 10 20 bs1 102 ora
  • wazuh安装记录

    记录下Wazuh安装碰到的坑 安装的话还是建议参考官方文档一步一步操作 没碰到什么大问题 raw githubusercontent com无法连接 有些配置文件会下载失败 参考 https www ioiox com archives 6

随机推荐

  • 【论文阅读】实验结果分析 2019_Contiual learning with hypernetwork

    文章目录 论文阅读 实验结果分析 2019 Contiual learning with hypernetwork 1 Continual Learning with Hypernetworks 超级网络的代码实现 1 1 Toy Exam
  • FunctionDeclarationUtil

    import com google common collect Lists import java io File import java io FileFilter import java io IOException import j
  • python学习笔记——file(文件)、OS模块操作、random模块

    1文件访问方法 1 1 open 函数 打开文件并返回文件对象 基本格式 open file path mode encoding 参数说明 参数 含义 file path 文件路径 必须要有 mode 文件打开方式 encoding 字符
  • 小程序接入流量主、banner广告、激励广告

    小程序接入广告 1 什么是微信小程序广告 2 流量主开通流程 3 微信小程序流量主开通以及添加广告步骤 1 接入banner广告 2 接入激励广告 1 什么是微信小程序广告 2 流量主开通流程 申请成为流量主后才能接入广告 首先进入小程序后
  • Shell 从入门到精通(一)

    1 脚本的基本格式 新建一个文件vim wenwen 往文件里写如下代码 bin bash echo wenwen successful 给文件权限 执行文件 chmod 755 wenwen wenwen 2 脚本的执行方式 每个程序都有
  • 最大类间方差法matlab_用matlab进行功率谱分析的几种方法

    0 前言 有很多种功率谱分析算法 如周期图法 welch法 yuler法 汤姆森多窗口谱 mtm 法 协方差谱 cov 法 修正协方差 mcov 法 burg法 多信号分类 MUSIC 特征向量法 在matlab中 为了进行信号功率谱分析
  • 【Mo&AI TIME 人工智能技术博客】将科幻照进现实——元宇宙数字人的当下与未来

    本篇文章内容转载于 AI TIME论道 公众号 秉持着合作共享的信念 希望给热爱人工智能的你们 提供更全面 前沿的人工智能和学科发展资讯 2023年1月11日 PhD Debate 14特别邀请了来自上海交通大学博士生马子阳 香港科技大学博
  • Python re模块 findall()函数(算是一个坑点)

    1 先说一下findall 函数的两种表示形式 import re kk re compile r d kk findall one1two2three3four4 1 2 3 4 注意此处findall 的用法 可传两个参数 kk re
  • QT框架简单分析

    基本带窗口创建的项目具备以下几个文件 pro 工程管理文件 用于管理各种模块 名字 连接等 在后续添加 通讯模块 多媒体 数据库等模块时需要用到 头文件 各种 h结尾的头文件 如widget h 源文件 主函数main cpp 和函数文件如
  • 在Python中,我们可以使用pyzmq模块来实现ZMQ编程

    随着现代计算机技术的不断进步 人们对于通信技术的要求越来越高 而在这个领域中 ZeroMQ 简称ZMQ 被誉为是最为出色的一个库之一 它的出色之处在于 它为我们提供了一套非常灵活 高效的通信协议 可以让我们在不同的网络环境下 以各种方式进行
  • 0长度char数组的使用

    需要引起注意的 ISO IEC 9899 1999里面 这么写是非法的 这个仅仅是GNU C的扩展 gcc可以允许这一语法现象的存在 结构体最后使用0或1的长度数组的原因 主要是为了方便的管理内存缓冲区 如果你直接使用指针而不使用数组 那么
  • 彻底关闭Windows Defender&Windows 更新

    目录 关闭Windows Defender 方法一 方法二 关闭Windows Updata 自测用这个方法关闭 还是莫名其妙会被杀 在加一个办法 关闭Windows Defender 方法一 1 使用WIN R打开运行对话框 输入rege
  • C++:给定一个字符串,验证是否为回文,只考虑字母和数字字符,忽略字母大小写。

    include
  • 【微信小程序】微信小程序实现点击分享链接进入的分享页面左上角是返回按钮

    首先先和你们说这是可以实现而且非常简单 接下来我们就来看看如何实现这种需求的 首先我们需要配置分享链接 例如 detail js页面 Page onShareAppMessage function res var url 页面参数 if r
  • Spring中的18个注解,你会几个?

    点击上方 Java之间 选择 置顶或者星标 你关注的就是我关心的 作者 Java的小本家 Controller 标识一个该类是Spring MVC controller处理器 用来创建处理http请求的对象 RestController S
  • 结合AG-Grid二次封装element-plus的el-table表格

    MyTable组件封装 路径 conponents MyTable index vue template
  • 第三周课程总结&实验报告一

    一 实验报告 1 打印输出所有的 水仙花数 所谓 水仙花数 是指一个3位数 其中各位数字立方和等于该数本身 例如 153是一个 水仙花数 I 实验代码 public class text public static void main St
  • 操作系统复习题

    一 填空题 1 通常所说操作系统的四大模块是指处理机管理 存储管理 设备管理 文件 管理 2 进程实体是由 进程控制块 PCB 程序段和数据段这三部分组成 3 文件系统中 空闲存储空间的管理方法有空闲表法 空闲链表法 位示图法和 成组链接法
  • 7_2,24位真彩模式(2013-2-27)

    同理 24位为3通道 3字节 但是经过测试 有问题 不支持24位 7 3 32位真彩模式 32位与16位不同之处 32位分为ARGB和XRGB 各8位 ARGB中前8位为透明色 XRGB前8位为了对齐 一般清为0 define RGB32B
  • JDBC流程

    JDBC JAVA 访问数据库的技术 Jdbc是一种Java连接数据库技术 Java database connectity 它是 Java 提供的一些接口 这些接口大部分是数据库厂商提供的 jar包 我们要做的 是连接数据库以后 如何使用