Java开发之JDBC

JDBC

    • 介绍JDBC
    • 程序(Statement)
    • 相关细节
      • URL
      • ResultSet
    • 连接池
    • 程序(PreparedStatement)

本文主要记录一下学习JDBC的一些知识点

介绍JDBC

首先谈谈什么是JDBC。下面放几张图,大致就可以清楚JDBC了。

在这里插入图片描述
在这里插入图片描述

程序(Statement)

直接看程序,学习JDBC的基本操作。
在这里插入图片描述

public static void main(String[] args) throws ClassNotFoundException, SQLException {//1.加载驱动Class.forName("com.mysql.jdbc.Driver");//2.用户信息和urlString url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true";String username = "root";String password = "123456";//3.连接成功,数据库对象 Connection代表数据库Connection connection = DriverManager.getConnection(url, username, password);//4.执行SQL的对象Statement 执行sql的对象Statement statement = connection.createStatement();//5.执行SQL的对象 去执行SQLString sql = "SELECT * FROM users";ResultSet resultSet = statement.executeQuery(sql);while (resultSet.next()){System.out.println(resultSet.getObject("id"));System.out.println(resultSet.getObject("NAME"));System.out.println(resultSet.getObject("password"));}resultSet.close();connection.close();}

相关细节

URL

在这里插入图片描述

ResultSet

在这里插入图片描述

连接池

在这里插入图片描述

程序(PreparedStatement)

PreparedStatement可以预防SQL注入问题

@Test
public void testPreparedStatement() throws  Exception {//2. 获取连接:如果连接的是本机mysql并且端口是默认的 3306 可以简化书写String url = "jdbc:mysql:///db1?useSSL=false";String username = "root";String password = "1234";Connection conn = DriverManager.getConnection(url, username, password);// 接收用户输入 用户名和密码String name = "zhangsan";String pwd = "' or '1' = '1";// 定义sqlString sql = "select * from tb_user where username = ? and password = ?";// 获取pstmt对象PreparedStatement pstmt = conn.prepareStatement(sql);// 设置?的值pstmt.setString(1,name);pstmt.setString(2,pwd);// 执行sqlResultSet rs = pstmt.executeQuery();// 判断登录是否成功if(rs.next()){System.out.println("登录成功~");}else{System.out.println("登录失败~");}//7. 释放资源rs.close();pstmt.close();conn.close();
}

参考的相关博客:
今日学习知识:JDBC(Java数据库连接)
JDBC详解
JDBC 是什么?怎么使用?3万字笔记来袭

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/839158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络编程—— Http的Get请求

http: hyper text transport protocal:超文本传输协议。 http是一种基于客户端-服务器模式的协议(Client-Server)。它规定只能由客户端先发起请求给服务器, 服务器做出响应。 http数据传输以数据报文的形式进行, 客户端向服务器发起的请求叫做请求报文。…

【Linux玩物志】Linux环境开发基本工具使用(终章) ——git与gdb调试器

W...Y的主页 😊 代码仓库分享 💕 前言:这是最后一篇Linux工具篇,今天这篇文章我们要来简单讲一件git与调试器gdb。 目录 使用 git 命令行 安装 git 在 Github 创建项目 注册账号 创建项目 ​编辑 下载项目到本地 在 Gite…

融合基因组序列识别scATAC-seq的细胞类型

利用scATAC-seq技术进行单细胞分析,可以在单细胞分辨率下深入了解基因调控和表观遗传异质性,但由于数据的高维性和极端稀疏性,scATAC-seq的细胞注释仍然具有挑战性。现有的细胞注释方法大多集中在细胞峰矩阵上,没有充分利用潜在的…

商品指数创年内新高,粘性通胀成为美联储噩梦

文章概述 虽然美国4月CPI增幅放缓让美联储今年降息的可能性大增,但与此同时,大宗商品价格却达到了一年来的最高水平,粘性通胀可能成为美联储的噩梦。数据显示,跟踪24种能源、金属和农业合约彭博大宗商品现货指数今年以来已经上涨…

使用Flask ORM进行数据库操作的技术指南

文章目录 安装Flask SQLAlchemy配置数据库连接创建模型类数据库操作插入数据查询数据更新数据删除数据 总结 Flask是一个轻量级的Python Web框架,其灵活性和易用性使其成为开发人员喜爱的选择。而ORM(对象关系映射)则是一种将数据库中的表与面…

LeetCode题练习与总结:二叉树的最大深度--104

一、题目描述 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入:root […

ESP32开发环境搭建Windows VSCode集成Espressif IDF插件开发环境搭建 IDF_V5.2.1

一、安装Visual Studio Code 下载地址:Download Visual Studio Code - Mac, Linux, Windows 打开上方链接,选择页面中的Windows版本,单击下载 将下载好的VSCodeUserSetup-x64-1.89.1.exe。单击右键,选择以管理员身份运行&#xf…

jenkins自动化部署详解

一、准备相关软件 整个自动化部署的过程就是从git仓库拉取最新代码,然后使用maven进行构建代码,构建包构建好了之后,通过ssh发送到发布服务的linux服务器的目录,最后在此服务器上执行相关的linux命令进行发布。 此篇文章jenkins…

【iOS安全】BurpSuite iOS https抓包 | DNS Spoofing

BurpSuite 完整版安装 参考:Admin Team 小数智 的博客 下载 Burp Suite 2021.6 官网下载地址 https://portswigger.net/burp/releases (下载并安装好) jdk 使用的是11.0.10 https://www.oracle.com/java/technologies/javase-jdk11-downl…

实用css整理

网页一键变灰 body{filter: grayscale(1); } 一般用于特殊时期,网页变灰,只需要给body标签添加这行样式代码。 一键换主题色 body {filter: hue-rotate(45deg);} 给body标签设置这个属性样式,改变角度看看效果吧。 设置字母大小写 p {t…

麦克纳母轮(全向)移动机器人集群控制的Simulink/Simscape虚拟仿真平台搭建

麦克纳姆轮是一种常见的全向移动机构,可以使机器人在平面内任意方向平移,同时可以利用差速轮车的属性实现自转,能够在狭窄且复杂多变的环境中自由运行,因而被广泛应用于竞赛机器人和特殊工业机器人场景。 Ps:最新的BYD仰望U8也有一…

项目启动失败,【consul】

如题,启动时项目未能正常启动,但上次都一切正常,日志提示: Consul service ids must not be empty, must start with a letter 经过排查是因为consul的consulconfigservice服务假死,导致无法正常获取到配置文件&am…

【全开源】Java无人共享棋牌室茶室台球室系统JAVA版本支持微信小程序+微信公众号

开启智能共享新时代 一、系统源码概述:引领自助服务潮流 随着科技的不断发展和人们生活节奏的加快,自助服务已逐渐成为人们生活中的一部分。为了满足市场对无人共享棋牌室、茶室、台球室的需求,我们推出了全新的无人共享系统源码。这套源码…

使用决策树对金融贷款数据进行分析

使用决策树对金融贷款数据进行分析 在本篇博客中,我们将通过使用 Python、Pandas 和多种机器学习技术,对一组贷款数据进行全面分析。通过详细的步骤展示,你将学会如何进行数据预处理、可视化分析以及构建预测模型。 第一步:导入…

Windows10安装Docker Desktop - WSL update failed

按照提示更新wsl后,仍然会报错,github上没有找到解决方法。版本28、29、30都会报这个错。 经过尝试,将docker内的设置中,采用wsl禁掉即可。如下图:

55. UE5 RPG 处理当前功能在多人模式中的问题

在UE里面,我们运行项目可以设置多种网络模式,主要是分为三种: 运行Standalone 就是单人模式,没有网络交互以监听服务器运行,在界面里运行的游戏会作为服务器使用以客户端运行,UE会单独运行一个线程作为服务…

【Linux】套接字的理解 基于TCP协议的套接字编程(单/多进程 / 线程池|英汉互译 / C++)

文章目录 1. 前言1.1 网络方面的预备知识👇1.2 了解TCP协议 2. 关于套接字编程2.1 什么是套接字 Socket2.2 socket 的接口函数2.3 Udp套接字编程的步骤2.4 sockaddr 结构 3. 代码实现3.1 makefile3.2 log.hpp3.3 tcp_server.hpp① 框架② service() 通信服务③ init…

记录docker ps查找指定容器的几个命令

1.docker ps | grep registry 查询包含registry的容器 2.docker ps | grep -E "reigistry\s" 开启正则匹配模式,匹配registry后面为空格的容器,若是匹配一整行可以这样写docker ps | grep -E "^([0-9a-f]{12})\sregistry\s.*" 这…

电视机顶盒哪个牌子好?618畅销电视机顶盒排行榜

电视机顶盒是我们使用最多的,不管看直播、动画、追剧、上网课都少不了它的存在。大促期间很多朋友问我电视机顶盒哪个牌子好,小编按照各平台的销量情况整理了618畅销电视机顶盒排行榜,看看哪些品牌的电视机顶盒是最受欢迎的吧。 TOP 1&#x…

通过扩展指令增强基于覆盖引导的模糊测试

本文由Bruno Oliveira于2024年4月25日发表于IncludeSec的官方网站上。作为IncludeSec的安全研究人员,在他们日常的安全审计和渗透测试工作中,有时需要为客户开发一些模糊测试工具。在安全评估方法中使用模糊测试技术,可以有效地在复杂的现代化…