JDBC-MySQL
JDBC-MySQL
- 1.JDBC 操作步骤
- 1.1 DriverManager
- 1.2.Connection对象
- 1.3 Statement
- 1.4 PreparedStatement
1.JDBC 操作步骤

public void quickStart() throws ClassNotFoundException, SQLException {//1、注册驱动 (确认要使用哪个数据库)Class.forName("com.mysql.jdbc.Driver"); //加载Driver类//2、连接数据库 (获取到一个数据库连接对象)String url ="jdbc:mysql://127.0.0.1:3306/db1";//String url ="jdbc:mysql://127.0.0.1:3306/db5?useUnicode=true&characterEncoding=utf8";//解决中文乱码Connection conn = DriverManager.getConnection(url, "root", "");//3、编写SQL语句String sql="select id,name from user";//4、把SQL语句发送给数据库 (数据库执行SQL代码,并返回执行结果)Statement stmt = conn.createStatement();//基于数据库连接对象,创建一个操作数据库的对象ResultSet rs = stmt.executeQuery(sql);//把sql代码发给数据库//5、处理SQL的执行结果while(rs != null && rs.next()){System.out.print(rs.getInt("id")+"\t");System.out.print(rs.getString("name")+"\t");System.out.println("=======================================");}//6、释放资源(断开和数据库的连接)rs.close();stmt.close();conn.close();}
1.1 DriverManager
Driver Manager(驱动管理类)作用:
1.注册驱动
2.获取数据库连接
//注册驱动
MySQL 5之后的驱动包,可以省略注册驱动的步骤
自动加载jar包中META-INF/services/java.sql.Driver文件中的驱动类
Class.forName("com.mysql.jdbc.Driver");//获取数据库连接
Connection conn = DriverManager.getConnection(连接路径, 用户名, 密码);
1.2.Connection对象
Connection(数据库连接对象)作用:
1.获取执行 SQL 的对象
2.管理事务
//Connection是一个接口
//作为数据库连接对象
//作用: 1、创建数据库操作对象 2、管理事务conn.setAutoCommit(false); //相当于MySQL中的 : start transaction;conn.commit(); //相当于mysql中的: commitconn.rollback(); // rollback
1.3 Statement
Statement作用:
执行SQL语句
int executeUpdate(sql):执行DML、DDL语句
//返回值:(1) DML语句影响的行数 (2) DDL语句执行后,执行成功返回 0
ResultSet executeQuery(sql):执行DQL 语句
//返回值: ResultSet 结果集对象ResultSet使用步骤:
游标向下移动一行,并判断该行否有数据:next()
获取数据:getXxx(参数)
//循环判断游标是否是最后一行末尾
while(rs.next()){//获取数据rs.getXxx(参数);
}
1.4 PreparedStatement
解决Statement对象中存在的SQL注入风险
//创建PreparedStatement对象 【预编译SQL对象】
PreparedStatement pstmt = 数据库连接对象.prepareStatement( sql语句 );
String sql="select * from user where username=? and pasword=?";//?是占位符(先占个位置,没有值)把sql语句先发给数据库给?占位符,赋值: 1,"aaa" 2,"aaa"
相关文章:
JDBC-MySQL
JDBC-MySQL 1.JDBC 操作步骤1.1 DriverManager1.2.Connection对象1.3 Statement1.4 PreparedStatement 1.JDBC 操作步骤 public void quickStart() throws ClassNotFoundException, SQLException {//1、注册驱动 (确认要使用哪个数据库)Class.forName(&…...
MySQL经典练习50题(上)(解析版)
所有笔记、生活分享首发于个人博客 想要获得最佳的阅读体验(无广告且清爽),请访问本篇笔记 MySQL经典练习50题(上) 创建数据库和表 -- 建 表 -- 学 生 表 CREATE TABLE Student( s_id VARCHAR(20), s_name VARCHAR(2…...
每日一题33:数据统计之广告效果
一、每日一题 返回结果示例如下: 示例 1: 输入: Ads 表: ------------------------- | ad_id | user_id | action | ------------------------- | 1 | 1 | Clicked | | 2 | 2 | Clicked | | 3 | 3 | Viewed…...
52、有边数限制的最短路
有边数限制的最短路 题目描述 给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数。 请你求出从1号点到n号点的最多经过k条边的最短距离,如果无法从1号点走到n号点,输出impossible。 注意:图中可…...
Spring boot实现基于注解的aop面向切面编程
Spring boot实现基于注解的aop面向切面编程 背景 从最开始使用Spring,AOP和IOC的理念就深入我心。正好,我需要写一个基于注解的AOP,被这个注解修饰的参数和属性,就会被拿到参数并校验参数。 一,引入依赖 当前sprin…...
MySQL之查询性能优化(四)
查询性能优化 MySQL客户端/服务器通信协议 一般来说,不需要去理解MySQL通信协议的内部实现细节,只需要大致理解通信协议是如何工作的。MySQL客户端和服务器之间的通信协议是"半双工"的,这意味着,在任何一个时刻&#…...
定时任务详解
文章目录 定时任务详解JDK自带第三方任务调度框架java有哪些定时任务的框架为什么需要定时任务定时任务扫表的方案有什么缺点Quartzxxl-jobxxl-job详解 elastic-job 定时任务详解 在定时任务中,操作系统或应用程序会利用计时器或定时器来定期检查当前时间是否达到了…...
OnlyOffice DocumentServer 8.0.1编译破解版本(¥100)
OnlyOffice DocumentServer 8.0.1编译破解版本(¥100) 破解20人数限制 更换中文字体 修改源码,根据业务自定义服务 根据源码在本机启动项目,便于开发 将编译好的服务打包docker镜像运行 提供各种docker镜像包&…...
Android 应用权限
文章目录 权限声明uses-permissionpermissionpermission-grouppermission-tree其他uses-feature 权限配置 权限声明 Android权限在AndroidManifest.xml中声明,<permission>、 <permission-group> 、<permission-tree> 和<uses-permission>…...
MATLAB 匿名函数
定义匿名函数定义匿名函数的基本语法如下:示例示例 1:简单数学运算示例 2:字符串操作示例 3:作为参数传递 匿名函数的高级用法使用函数句柄定义多输出函数使用局部变量使用嵌套匿名函数 注意事项 匿名函数( Anonymous…...
Java 新手入门:基础知识点一览
Java 新手入门:基础知识点一览 想要踏入 Java 的编程世界?别担心,这篇文章将用简单易懂的表格形式,带你快速了解 Java 的基础知识点。 一、Java 是什么? 概念解释Java一种面向对象的编程语言,拥有跨平台、…...
三维模型轻量化工具:手工模型、BIM、倾斜摄影等皆可用!
老子云是全球领先的数字孪生引擎技术及服务提供商,它专注于让一切3D模型在全网多端轻量化处理与展示,为行业数字化转型升级与数字孪生应用提供成套的3D可视化技术、产品与服务。 老子云是全球领先的数字孪生引擎技术及服务提供商,它专注于让…...
小程序CI/CD之自动化打包预览并钉钉通知发布进程
小程序打包方式分为两种:手动打包、自动打包 那如何实现 自动打包 呐?我们今天就来聊一聊! 首先,很重要,看 官方文档 这里提到今天我们要聊的“主角” miniprogram-ci miniprogram-ci 是从微信开发者工具中抽离的关于…...
C++使用QtHttpServer开发服务端Server的Http POST接口和客户端Client示例
Client HTTP POST 假设http://127.0.0.1:8888/post/是一个能够接受POST请求的路径,我们想要向它提交一段json数据,用Qt可以这样实现: Suppose we want to make an HTTP POST with json body to http://127.0.0.1:8888/post/. QCoreApplica…...
计算机基础(8)——音频数字化(模电与数电)
💗计算机基础系列文章💗 👉🍀计算机基础(1)——计算机的发展史🍀👉🍀计算机基础(2)——冯诺依曼体系结构🍀👉ἴ…...
手搓单链表(无哨兵位)(C语言)
目录 SLT.h SLT.c SLTtest.c 测试示例 单链表优劣分析 SLT.h #pragma once#include <stdio.h> #include <assert.h> #include <stdlib.h>typedef int SLTDataType;typedef struct SListNode {SLTDataType data;struct SListNode* next; }SLTNode;//打印…...
代码随想录算法训练营第18天|二叉树
513. 找树左下角的值 最左边的结点的特性 1.只能是叶子结点, 2.必须考虑是最底层,所以要考虑树的深度 3.同样的深度考虑左子树 考虑迭代法,层序遍历 递归优点难搞的 /*** Definition for a binary tree node.* function TreeNode(val, left, righ…...
使用tftpd更新开发板内核
我们升级内核可以通过原厂提供的升级软件来进行,比如瑞芯微的RKDevTool.exe,只不过这种方式必须通过指定的OTG升级口,还得借助按键进入loader模式后才可以。 其实还可以利用一些通用的工具来进行升级,比如tftpd工具。 下载地址p…...
MySQL数据库整体知识点简述
目录 第一章:数据库系统概述 第二章:信息与数据模型 第3章 关系模型与关系规范化理论 第四章——数据库设计方法 第六-七章——MySQL存储引擎与数据库操作管理 第九章——索引 第10章——视图 第11章——MySQL存储过程与函数 第12章——MySQL 触…...
深入理解MySQL索引下推优化
在MySQL中,索引的使用对于查询性能至关重要。然而,即使有合适的索引,有时查询性能仍然不尽如人意。索引下推(Index Condition Pushdown,ICP)是一项能够进一步优化查询性能的技术。本文将详细讲解索引下推的…...
汽车电子选型:RF430F5144CIRKVRQ1为什么适合发动机舱附近的应用
RF430F5144CIRKVRQ1:这颗77mm的QFN芯片,如何把13.56MHz NFC和MSP430 MCU塞进一颗汽车级SoCRF430F5144CIRKVRQ1来自德州仪器,是一颗高度集成的NFC传感器收发器SoC。它的核心价值很直接:把13.56MHz HF射频前端、16位MSP430超低功耗M…...
OpenJSCAD.org与3D打印完美结合:从代码到实物的完整工作流程
OpenJSCAD.org与3D打印完美结合:从代码到实物的完整工作流程 【免费下载链接】OpenJSCAD.org JSCAD is an open source set of modular, browser and command line tools for creating parametric 2D and 3D designs with JavaScript code. It provides a quick, pr…...
终极指南:PrivateGPT增量文档处理策略与动态更新解决方案
终极指南:PrivateGPT增量文档处理策略与动态更新解决方案 【免费下载链接】privateGPT 利用GPT的强大功能与你的文档进行互动,确保100%的隐私保护,无数据泄露风险 项目地址: https://gitcode.com/GitHub_Trending/pr/privateGPT Priva…...
终极中文语义理解指南:text2vec-base-chinese如何让AI真正读懂中文
终极中文语义理解指南:text2vec-base-chinese如何让AI真正读懂中文 【免费下载链接】text2vec-base-chinese 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/text2vec-base-chinese 还在为中文文本相似度计算而烦恼吗?text2vec-base-c…...
Pixel Language Portal 集成 Visual Studio Code:智能代码补全插件开发实战
Pixel Language Portal 集成 Visual Studio Code:智能代码补全插件开发实战 1. 为什么开发者需要智能代码补全 想象一下这样的场景:凌晨两点,你正在赶一个紧急项目,手指在键盘上飞舞,但突然卡在一个复杂的函数实现上…...
威联通NAS安全防护全攻略:10个必做设置让你的数据固若金汤
威联通NAS安全防护全攻略:10个必做设置让你的数据固若金汤 在数字化时代,数据安全已成为个人和企业最关注的议题之一。威联通NAS作为专业级网络存储设备,凭借其强大的硬件性能和丰富的软件生态,成为许多用户存储重要数据的首选。然…...
工控机驱动安全自查:5分钟用DriverView揪出可疑第三方驱动(附分析技巧)
工控机驱动安全自查:5分钟用DriverView揪出可疑第三方驱动(附分析技巧) 工业自动化设备的稳定运行离不开安全的驱动环境。想象一下,当你负责的生产线突然出现不明原因的停机,经过层层排查,最终发现是一个来…...
告别单调模型!FreeCAD‘逐面着色’保姆级教程:从颜色理论到3D打印预览
告别单调模型!FreeCAD‘逐面着色’保姆级教程:从颜色理论到3D打印预览 在3D设计领域,模型的美观度往往决定了第一印象。你是否遇到过这样的困境:精心建模的作品因为单调的色彩而失去表现力?FreeCAD的逐面着色功能正是打…...
程序员副业指南:CSDN变现全攻略
程序员副业图谱:CSDN技术变现路径分析核心逻辑 围绕技术变现场景构建结构化框架,从技术栈适配性、市场需求匹配度、时间投入产出比三个维度建立评估模型技术咨询类副业路径技术问答悬赏CSDN问答模块的答题变现机制高价值技术领域识别(云原生/…...
基于Dify的智能问答系统:从意图识别到规范化回复的全流程设计
1. 从零开始理解Dify智能问答系统 第一次接触Dify时,我完全被它的可视化编排能力惊艳到了。这个平台就像搭积木一样,让不懂代码的产品经理也能设计出复杂的AI应用。举个实际例子,去年我们团队要做一个游泳健身领域的问答助手,传统…...
