java数据库操作-cnblog
创建lib目录,填入jar包
选择
libraries添加lib目录
package nb;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;public class JDBCtest {private static final String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf8";
// private static final String url = "jdbc:mysql://localhost:3306/testweb?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8";private static final String username = "root";private static final String password = "";public static void main(String[] args) {try {Class.forName("com.mysql.cj.jdbc.Driver");Connection connection = DriverManager.getConnection(url,username,password);if (connection != null){System.out.println("数据库链接成功");}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}
}
mysql -h localhost -u root -p
1 实现对数据库的取值
package nb;import java.sql.*;
import java.util.Date;
import java.util.concurrent.locks.StampedLock;public class JDBCtest {private static final String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf8";private static final String username = "root";private static final String password = "";public static void main(String[] args) {try {Class.forName("com.mysql.cj.jdbc.Driver");Connection connection = DriverManager.getConnection(url, username, password);if (connection != null) {System.out.println("数据库链接成功");}String sql = "SELECT id,number,name,gender,createDt FROM student";Statement statement = connection.createStatement();ResultSet resultSet = statement.executeQuery(sql);while (resultSet.next()){int id = resultSet.getInt("id");System.out.println("id:"+id);int number = resultSet.getInt("number");System.out.println("number:"+number);String name = resultSet.getString("name");System.out.println("name:"+name);String gender = resultSet.getString("gender");System.out.println("gender:"+gender);Date createDt = resultSet.getDate("createDt");System.out.println("createDt:"+createDt);}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}
}
2 注意在结尾关闭数据库
package nb;import java.sql.*;
import java.util.Date;
import java.util.concurrent.locks.StampedLock;public class JDBCtest {private static final String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf8";private static final String username = "root";private static final String password = "";public static void main(String[] args) {try {Class.forName("com.mysql.cj.jdbc.Driver");Connection connection = DriverManager.getConnection(url, username, password);if (connection != null) {System.out.println("数据库链接成功");}String sql = "SELECT id,number,name,gender,createDt FROM student";Statement statement = connection.createStatement();ResultSet resultSet = statement.executeQuery(sql);while (resultSet.next()){int id = resultSet.getInt("id");System.out.println("id:"+id);int number = resultSet.getInt("number");System.out.println("number:"+number);String name = resultSet.getString("name");System.out.println("name:"+name);String gender = resultSet.getString("gender");System.out.println("gender:"+gender);Date createDt = resultSet.getDate("createDt");System.out.println("createDt:"+createDt);}resultSet.close();statement.close();connection.close();System.out.println("关闭数据库完成");} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}
}
3 对数据库进行模糊查询
package nb;import java.sql.*;
import java.util.Date;
import java.util.concurrent.locks.StampedLock;public class JDBCtest {private static final String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf8";private static final String username = "root";private static final String password = "";public static void main(String[] args) {try {Class.forName("com.mysql.cj.jdbc.Driver");Connection connection = DriverManager.getConnection(url, username, password);if (connection != null) {System.out.println("数据库链接成功");}String sql = "SELECT * FROM student where name like '张%'";Statement statement = connection.createStatement();ResultSet resultSet = statement.executeQuery(sql);while (resultSet.next()){int id = resultSet.getInt("id");System.out.println("id:"+id);int number = resultSet.getInt("number");System.out.println("number:"+number);String name = resultSet.getString("name");System.out.println("name:"+name);String gender = resultSet.getString("gender");System.out.println("gender:"+gender);Date createDt = resultSet.getDate("createDt");System.out.println("createDt:"+createDt);}resultSet.close();statement.close();connection.close();System.out.println("关闭数据库完成");} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}
}
查询结果只有一个,关键变换位置在
String sql = “SELECT * FROM student where name like ‘张%’”;
数据库内部一共储存了两个值
4 实现对数据库的增删改查
package nb;import java.sql.*;
import java.util.Date;
import java.util.concurrent.locks.StampedLock;public class JDBCtest {private static final String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf8";private static final String username = "root";private static final String password = "";Connection connection;public void init_Connection(){//初始化链接数据库try {Class.forName("com.mysql.cj.jdbc.Driver");connection = DriverManager.getConnection(url, username, password);if (connection != null) {System.out.println("数据库链接成功");}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}public void closeConnection(){ //关闭数据库if (connection != null){try {connection.close();System.out.println("数据库成功关闭");}catch (SQLException e){e.printStackTrace();}}}public void showAllData(){try {String sql = "SELECT * FROM student";Statement statement = connection.createStatement();ResultSet resultSet = statement.executeQuery(sql);while (resultSet.next()){int id = resultSet.getInt("id");System.out.println("id:"+id);int number = resultSet.getInt("number");System.out.println("number:"+number);String name = resultSet.getString("name");System.out.println("name:"+name);String gender = resultSet.getString("gender");System.out.println("gender:"+gender);}}catch(SQLException e){e.printStackTrace();}}public void add(int id,int number,String username,String gender){try {String sql = "insert into student values(?,?,?,?)";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1,id);statement.setInt(2,number);statement.setString(3,username);statement.setString(4,gender);statement.executeUpdate();System.out.println("添加新同学成功");} catch (SQLException e) {e.printStackTrace();}}public void delete(int id){ //删除指定id的学生try {Statement statement = connection.createStatement();statement.executeUpdate("delete from student where id="+id);System.out.println("删除某成员成功");} catch (SQLException e) {e.printStackTrace();}}public void update(int id,String new_name){String sql = "update student set name = ? where id = ?";try {PreparedStatement preparedStatement = connection.prepareStatement(sql);preparedStatement.setInt(2,id);preparedStatement.setString(1,new_name);preparedStatement.executeUpdate();} catch (SQLException e) {e.printStackTrace();}}public static void main(String[] args) {JDBCtest jdbCtest = new JDBCtest();jdbCtest.init_Connection();jdbCtest.add(4,12233,"王二","男");jdbCtest.delete(4);jdbCtest.update(3,"呃呃");jdbCtest.showAllData();jdbCtest.closeConnection();}
}
相关文章:

java数据库操作-cnblog
创建lib目录,填入jar包 选择 libraries添加lib目录 package nb;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;public class JDBCtest {private static final String url "jdbc:mysql://localhost:3306/test?c…...

HCIP-HarmonyOS Application Developer 习题(九)
(多选) 1、HarmonyOS多窗口交互能力提供了以下哪几种交互方式? A. 全局消息通知 B.平行视界 C.悬浮窗 D.分屏 答案:BCD 分析:系统提供了悬浮窗、分屏、平行视界三种多窗口交互,为用户在大屏幕设备上的多任务并行、便捷的临时任务…...

redis集成到spring boot中使用
(一)添加依赖 redis服务器在官网中公开了自己使用的协议--RESP,所以我们可以使用这个协议来访问redis服务器,但是如果我们要自己实现库,那肯定是非常麻烦的,所以我们可以使用网上的库,我们直接调…...
Spring Boot、Spring MVC和Spring有什么区别
人要长大,就要学会不断接受事件的变化 —— 24.10.14 spring是一个IOC容器,用来管理Bean,使用依赖注入实现控制反转,可以很方便的整合各种框架,提供AOP机制弥补OOP的代码重复问题、更方便将不同类不同方法中的共同处理…...

Flip动画
前言 最近在做复图标库功能时,感觉这个功能在使用上有些“生硬”。如随机删除一个图标,后面的元素在视觉上是“瞬间移动”过来补位的。想着做个小优化,简单加个动画效果吧。 看起来确实“花里胡哨”了,实现也很简单, …...

Java通过RAG构建专属知识问答机器人_超详细
RAG:融合检索与生成的文本精准生成技术 检索增强生成(RAG)是一种技术,它通过结合检索模型和生成模型来提高文本生成的准确性。具体来说,RAG首先利用检索模型从私有或专有的数据源中搜索相关信息,然后将这些…...

2.1 使用点对点信道的数据链路层
欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅! 文章目录 前言1 通信信道类型2 数据链路3 帧4 透明传输5 差错检测 前言 在计算机网络通信中,数据链路层起着关键作用。它为直接相连的网络设备之间提供可靠的数据传输服务。…...
台式机来电自启动设置
在前司时,由于有些工作需要用到台式机,且一到节假日或者突然停电等情况,电脑每次都需要自己手动开机,后来研究了一下,发现可以在BIOS里面更改设置,从而变成关机的情况下,只要来电就能自动开机&a…...

【最新华为OD机试E卷-支持在线评测】考勤信息(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)
🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 💻 ACM金牌🏅️团队 | 大厂实习经历 | 多年算法竞赛经历 ✨ 本系列打算持续跟新华为OD-E/D卷的多语言AC题解 🧩 大部分包含 Python / C / Javascript / Java / Cpp 多语言代码 👏 感谢大家的订阅➕ 和 喜欢�…...

netdata保姆级面板介绍
netdata保姆级面板介绍 基本介绍部署流程下载安装指令选择设置KSM为什么要启用 KSM?如何启用 KSM?验证 KSM 是否启用注意事项 检查端口启动状态 netdata和grafana的区别NetdataGrafananetdata各指标介绍总览system overview栏仪表盘1. CPU2. Load3. Disk…...

苹果最新论文:LLM只是复杂的模式匹配 而不是真正的逻辑推理
大语言模型真的可以推理吗?LLM 都是“参数匹配大师”?苹果研究员质疑 LLM 推理能力,称其“不堪一击”!苹果的研究员 Mehrdad Farajtabar 等人最近发表了一篇论文,对大型语言模型 (LLM) 的推理能…...
Python知识点:基于Python工具,如何使用Scikit-Image进行图像处理与分析
开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! 基于Python的Scikit-Image图像处理与分析指南 在Python的科学计算生态系统中&am…...

MongoDB初学者入门教学:与MySQL的对比理解
🏝️ 博主介绍 大家好,我是一个搬砖的农民工,很高兴认识大家 😊 ~ 👨🎓 个人介绍:本人是一名后端Java开发工程师,坐标北京 ~ 🎉 感谢关注 📖 一起学习 &…...
Oracle AI Vector Search
Oracle AI Vector Search 是 Oracle Database 23ai 中引入的一项新技术,它允许用户在数据库中直接存储和高效查询向量数据。这项技术旨在简化应用程序的开发,并且支持不同维度和格式的向量。以下是 Oracle AI Vector Search 的一些关键特性和优势&#x…...

基于SpringBoot的健身会员管理系统实战分享
在这个充满活力的时代,我们自豪地呈现一款专为健身爱好者和专业人士设计的会员管理系统——一个集创新、效率与便捷于一体的解决方案。我们的系统基于强大的RuoYi-Vue框架构建,采用最新的Spring Boot和Vue3技术,确保了系统的高性能和用户友好…...
Elasticsearch高级搜索技术-结构化数据搜索
目录 结构化数据的存储 示例映射 使用range查询 查询示例 运算符 更多示例 日期查询 示例 结构化数据搜索是Elasticsearch另一个强大的功能,允许用户对具有明确类型的数据(如数字、日期和布尔值)进行精确的过滤和查询。这种类型的搜索通常涉及…...
ffmpeg面向对象——类所属的方法探索
ffmpeg是面向对象的思想写的代码,自然符合oopc的实现套路。这个也是oopc的通用法则。 1.类所属方法oopc的实现形式 ffmpeg抽象出某一类,然后某一类的方法如何调用?你说这还不简单: 对象.对象方法() 或者 对象指针-&g…...

TensorRT-LLM七日谈 Day3
今天主要是结合理论进一步熟悉TensorRT-LLM的内容 从下面的分享可以看出,TensorRT-LLM是在TensorRT的基础上进行了进一步封装,提供拼batch,量化等推理加速实现方式。 下面的图片更好的展示了TensorRT-LLM的流程,包含权重转换&…...
如何使用Pandas库处理大型数据集?
如何使用Pandas库处理大型数据集? 处理大型数据集是数据分析中的一个挑战,尤其是在资源有限的情况下。Pandas是Python中非常流行的数据处理库,但它在处理非常大的数据集时可能会遇到内存限制的问题。因此,我们需要一些策略来提高Pandas处理大型数据集的效率。以下是使用Pa…...
XHR 创建对象
XHR 创建对象 XMLHttpRequest(XHR)是现代Web开发中不可或缺的技术之一。它允许Web开发者通过JavaScript发送网络请求,以在不重新加载整个页面的情况下更新网页的某部分。XHR为开发者提供了一种在客户端和服务器之间传输数据的有效方式,是AJAX(Asynchronous JavaScript an…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
高防服务器价格高原因分析
高防服务器的价格较高,主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因: 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器,因此…...

小智AI+MCP
什么是小智AI和MCP 如果还不清楚的先看往期文章 手搓小智AI聊天机器人 MCP 深度解析:AI 的USB接口 如何使用小智MCP 1.刷支持mcp的小智固件 2.下载官方MCP的示例代码 Github:https://github.com/78/mcp-calculator 安这个步骤执行 其中MCP_ENDPOI…...