当前位置: 首页 > news >正文

Java面向对象—JDBC

一、JDBC简介:

JDBC:Java Database Connection ​1、JDBC:JDBC是Java和数据库连接的一种技术,提供连接各种数据库的能力

二、JDBC工作原理

Java应用程序:我们自己写的

JDBC API:由SUN公司提供给用的接口和类,集成在java.sql和javax.sql包中 Connection、PreparedStatement、ResultSet

DriverManager:由SUN公司提供,用来管理各种数据库驱动

JDBC驱动:由数据库厂商提供,负责连接不同的数据库,表现为一个jar包

三、JDBC连接数据库操作的七步

以增加为例:

(1)加载驱动 Class.forName("com.mysql.jdbc.Driver"); (2)创建连接 Connection c=DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名","root","root"); (3)编写sql String s="insert into user values(1,'张三')"; (4)创建PreparedStatement对象预处理sql PreparedStatement ps=c.preparedStatement(s); (5)执行并返回结果 int i=ps.executeUpdate(); (6)处理结果 System.out.println(i); (7)关闭连接 ps.close(); c.close();


六、 字符串处理

在sql语句中,如果值是字符串,那么就可以用变量累加进去,变量的值就可以灵活的使用扫描仪来输入

String name="张三"; String s=" insert into user values(1,'"+name+"')";

七、占位符

字段值除了可以使用变量累加,还可以使用占位符占位,再通过对应的set方法来输入值

占位符有顺序,即每个字段在表中的顺序

int a=1; String name="李四"; String s="insert into user values(?,?)"; ps.setInt(1,a); ps.setString(2,name);

八、查询

查询返回的是结果集,用ResultSet处理;调用执行使用executeQuery()方法

(5)执行并返回结果 ​ ResultSet rs =ps.executeQuery(); ​ (6)处理结果

对结果处理,用next()方法判断是否存在下一个数据,有则放在rs集合中

while(rs.next()){ ​ System .out.println(rs.getInt("userid")+":"+rs.getString("username")); ​ }

(7)关闭连接 ​ rs.close(); //先关闭结果集 ​ ps.close(); ​ c.close;

注:可以用字段列的顺序来获取字段值 但是不推荐,因为如果列很多时,只需有某几列,就要数需要的列是第几列 while(rs.next()){ System.out.println(rs.getInt(1)+":"+rs.getString(2)); }

http://www.jsqmd.com/news/461337/

相关文章:

  • 基于springboot的小米电商平台系统设计与实现设计与开发(源码+精品论文+答辩PPT等资料)
  • DeepSeek大模型驱动的空间智能引擎——镜像视界构建“人工智能+空间计算”新一代智能感知体系技术白皮书
  • 测试文章标题
  • 论成功与合作
  • 自研 Ollama 企业级网关:本地大模型生产化落地的工程化实践
  • 基于大数据爬虫+Hadoop+空气质量指数数据分析可视化设计与开发(源码+精品论文+答辩PPT等资料)
  • 1987年7月11日下午15-17点出生性格、运势和命运
  • AI证书纯线上考?过来人告诉你,这些“线上”环节的坑千万别踩!
  • Ubuntu 20.04 下 OpenClaw(龙虾)本地化部署保姆级教程
  • 深度解读C# 11 的 Required 成员:编译期状态验证强化
  • 认错贴 爱因斯坦经典5人逻辑题
  • 百度网盘下载太慢怎么办,如何提高网盘下载速度?
  • 2026年降AIGC率工具横评:便宜的和贵的差距到底有多大
  • 2026年DeepSeek写论文AI率太高?这5款降AI工具亲测有效
  • V-Ray 光照贴图烘焙参数适配教程
  • 基于BiGRU双向门控循环单元的锂电池SOH估计 [电池特征提取+SOH估计]Matlab代码(多输入单输出)
  • 虚拟机安装ngxin
  • Linux:读写锁与自旋锁
  • 多无人机动态避障路径规划研究:基于遗传算法GA的复杂三维山体环境下多无人机动态避障路径规划研究(可以自定义无人机数量及起始点),MATLAB代码
  • OpenClaw 记忆系统终极指南:从“金鱼记忆”到永不失忆(MemOS 插件 + 4 大社区实战方法)
  • 杰理之1. 启动解码和关闭解码【篇】
  • eNSP启动报:43
  • 杰理之Page Scan连接扫描【篇】
  • 告别边界噩梦:LeetCode Hot 100 高频漏等号场景全解析
  • GEO优化发布测试22:35:07
  • 最小二乘问题详解15:束平差原理与基础实现
  • openclaw在windows和mac上的安装以及AI技术中的几个关键概念,包括大模型、MCP协议、Skills、智能体和OpenClaw。
  • 基于 SpringBoot 和 Vue 的高效社团管理系统项目分享
  • 测试文章01
  • 实测了上百个AI工具,能留在我2026年收藏夹里的只有这47个(全场景覆盖)