Java面向对象—JDBC

Java程序设计:Java数据访问对象JDBC Java的JDBC 阅读详情

JDBC【Java连接数据库】

一、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 API

JDBC API负责:与数据库建立连接、执行SQL语句、处理结果 DriverManager :依据数据库的不同,管理JDBC驱动 Connection :负责连接数据库并担任传送数据的任务 Statement :由 Connection 产生、负责执行SQL语句 ResultSet:负责保存Statement执行后所产生的查询结果

四、JDBC驱动

(1)JDBC驱动由数据库厂商提供 (2)连接方式:

①JDBC-ODBC桥接方式:把对JDBC API的调用,转为对一组数据库连接API的调用 ​ 优点:可以访问所有ODBC可以访问的数据库 ​ 缺点:执行效率低、功能不够强大 ​ 注:控制面板——管理工具——ODBC数据源——系统DNS——添加:能添加即支持,不支持MySQL

②纯Java驱动连接:由JDBC驱动直接访问数据库 ​ 优点:100%Java,速度快、跨平台 ​ 缺点:连接不同的数据库需要下载使用不同的JDBC驱动

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

[数据库驱动jar包的添加方式在文章末尾处有详细介绍]

以增加为例:

(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)); }

九、jdbc驱动的jar包的添加方式:

1、直接在库目录中添加

File—Project Structure—Libraries—+—Java—找到jar包的目录—OK—选择模块(一定要选中对应的模块)—OK即可

2、在模块下添加依赖

创建文件夹lib》把.jar文件复制到该文件夹中》右键》添加到库

Java面向对象编程+jdbc连接MySQL+日志Log4j 《项目搜搜移动大厅》 数据库连接类:DBHelp package DBHelp; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBHelp { /**驱动程序名*/ private static final String driver = "c... 阅读详情

相关推荐

59、Java编程中的Applet、JDBC与面向对象设计

本文深入探讨了Java编程中的三个重要主题:Applet的生命周期和安全限制、JDBC数据库连接与操作,以及面向对象设计中的继承、组合和多态的应用。通过示例代码和设计原则分析,帮助开发者构建灵活、模块化且稳定的应用程序架构,并介绍了多个实际项目建议以提升编程与设计能力。

nut55的博客 63

Java数据库连接—JDBC(JDBC详解、JDBC控制事务、C3P0连接池、Druid连接池、Spring JDBC-JDBC Template)

reparedStatement可以在传入sql后,执行语句前,给参数赋值,避免了因普通的拼接sql字符串语句所带来的安全问题,而且准备sql和执行sql是在两个语句里面完成的,也提高了语句执行的效率 比如单引号会给你加一个转义,加个斜杠。为 false 表示禁用自动提交模式(在执行SQL语句之前开始事务)2、提交事务 void commit() 使所有上一次提交/回滚后进行的更改成为持久更改,并释放此 Connection 对象当前持有的所有数据库锁 (当所有事务中的SQL执行完就提交事务)

2401_84098033的博客 1025

2021年秋招面经分享·字节跳动【芯片工程师-系统架构】

前言 如果想参考本人背景情况的可见这篇概述 ============================ 正文开始 ============================== 【时间线】 7.29 字节一面 8.4 字节二面 8.11 字节三面 PS:红字表示我当时没答出来的问题,蓝字表示面试官的解答。 面经分享 一面·技术面【1小时5分钟】   面试官京腔重,聊high了所以没时间撕代码了,但是华为应该不会这样。 自我介绍; 介绍一下APB; APB中3个状态的跳转是怎么跳转的; AXI中va

qq_43132308的博客 5610

Java后端开发——JDBC(万字详解)

JDBC 提供了一种灵活、可移植、高性能的数据库访问方式,使得 Java 应用程序能够与多种数据库系统进行交互,并且具备了强大的控制和安全性。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类.各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发,还可随时替换底层数据库,访问数据库的Java代码基本不变。

专注 AI、大数据、Python、爬虫、数据分析可视化、机器学习、推荐算法、知识图谱、大模型应用与全栈系统开发,长期沉淀真实项目案例、源码解析、系统设计、部署经验与工程化实践,分享可运行、可复用、可落地的技术方案。 2323

Hi3559AV100制作ext4文件系统和烧录emmc

1、首先生成所需文件系统,见本博客<Hi3559AV100文件系统制作cramfs>。 2、使用工具生成EXT4文件系统 ./make_ext4fs -s -l 96M rootfs_hi3559av100.ext4 ./rootfs 3、烧录文件系统 mw.b 0x82000000 ff 0x12C00000;tftp 0x82000000 STM_...

阿Sir问道 7033

青龙人形机器人硬件平台设计全解析:从构型到控制系统的实战指南

本文深度解析了青龙人形机器人硬件平台的设计全流程,从需求分析、构型设计到核心系统实现。文章详细阐述了其43个自由度的仿生构型、高动态性下肢设计、灵巧作业系统以及分布式控制架构,并探讨了旋转关节与直线关节等关键技术选型,为开发者提供了从理论到实践的完整硬件设计指南。

weixin_29248313的博客 380

Java中的JDBC

JDBC(Java DataBase Connectivity)java数据库连接是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问, 它由一组用Java语言编写的类和接口组成。有了JDBC,java开发人员只需要编写一次程序,就可以访问不同的数据库JDBC API:供程序员调用的接口与类,集成在java.sql包中DriverManager类作用:管理各种不同的jDBC驱动Connection 接口 与特定数据库的连接Statement 接口 执行sql。

2201_75691974的博客 861

别再只盯着YOLOv8了!手把手带你用PaddleDetection的PP-YOLOE+搞定你的第一个检测项目

本文介绍了PP-YOLOE+在目标检测领域的优势与应用实践,对比YOLOv8展示其在精度、速度和部署便利性上的突破。通过详细的代码示例和实战教程,帮助开发者快速上手PaddleDetection工具链,实现产业级目标检测项目,提升开发效率。

weixin_42701915的博客 184

MySQL数据库——JDBC五个对象详解(Java)

jdbc的5个常用对象详解!

雷东宸的博客 3445

【考研复试】西安电子科技大学上机题

【考研复试】西安电子科技大学上机题

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 1737

嵌入式工程师成长之路(3)——PCB设计

带有目的的学:要知道,PCB板子做出来需要我们给厂家哪些东西,我们设计板子的时候,需要遵循哪些设计规范,防止画好也是块废板子。然后再逐步开始学习画板。

云轩阁 8万+

Java JDBC入门之五:以面向对象的思想编写JDBC程序

Java JDBC入门之五:以面向对象的思想编写JDBC程序一、 思想二、代码 一、 思想 传入一个对象的形式去执行插入,现在使用的是拼接SQL字符串的方法,后面改进,使用占位符的方法。 通过拼接SQL去查询信息 二、代码 测试代码 public class JDBCTest { @Test public void testGetStudent() { //1. 得到查询的类...

码农回顾 473

0基础学习diffusion_model扩散模型【易理解的公式推导】Denoising Diffusion Probabilistic Models

去噪扩散概率模型。本文是笔者在学习扩散模型时的一些笔记与心得,在公式推导过程中能够保证自己是一步一步去推导并且理解了的。概述是我认为比较重要的部分能够帮助理解公式的推导,具体的公式推导在每一小节中进行。1、扩散过程:如上图所示,扩散过程为从右到左X0→XTX0​→XT​的过程,表示对图片逐渐加噪,且Xt1X_{t+1}Xt1​是在XtX_{t}Xt​加躁得到的,其只受XtX_{t}Xt​的影响,因此扩散过程是一个马尔科夫过程。X0X_0。

zik的博客 2397

java的jdbc编程_Java - 面向对象思想进行JDBC编程

mysql-connector-java-5.1.7-bin.jarjdbc.propertiesdriver=com.mysql.jdbc.DriverjdbcUrl=jdbc\:mysql\://localhost\:3306/lessonuser=rootpassword=JDBCTools.javapackage 面向对象思想进行JDBC编程;import java.io.IOExcept...

weixin_32424555的博客 147

基于MATLAB自动发电控制(AGC)仿真系统的设计与实现:电力系统频率稳定与功率平衡的深入解析

自动发电控制(AGC)是电力系统运行中的一个关键功能,其主要任务是通过自动调节发电机组的输出功率,使得电网中的频率稳定在规定范围内,并维持发电与负荷的动态平衡。当电力负荷发生变化时,AGC会立即响应,调整发电机的功率输出,以避免电网频率的剧烈波动。维持系统频率稳定:电网频率通常应维持在标准值(例如50Hz或60Hz)附近。当负荷波动或电力需求突然变化时,AGC通过调节发电机输出,确保频率不发生过大的偏离。实现区域内的功率平衡。

qq_38334677的博客 1106

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

java面向对象jdbc查询

【代码】java面向对象jdbc查询。

switcheddff的博客 37

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

关于Java面向对象程序中的JDBC航天里程碑系统简单设计

System.out.println("-----------------里程碑管理-----------------");System.out.println("1.新增里程碑2.查询里程碑3.编辑里程碑4.删除里程碑");System.out.print("请输入需要编辑的里程碑的编号:");System.out.print("请输入需要删除的里程碑的编号:");System.out.print("发射时间(格式2023-10-15):");System.out.println("编辑里程碑失败!

qq_57243652的博客 907

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

java面向对象—JDBC编程

(1)JDBC基础 JDBC的全称是Java Database Connectivity,即java数据库连接,它是一种可以执行SQL语句的JavaAPI。程序可通过JDBC API连接到数据库,并使用结构查询语句实现对数据库查询、更新等操作。与其他数据库编程环境相比,JDBC为数据库开发提供了标准的API,因此使用JDBC开发数据库应用可以跨平台运行,且可以跨数据库。 1> JDBC简介 通过使用JDBC,可以使用同一组API访问不同的数据库系统,使用JDBC最大的优势在于通过JDBC API

m0_58834541的博客 410

sdut-Java面向对象-12 JDBC编程(主观题)

已知MySQL数据库school,字符集为utf8。在其中建立表student,对表中数据进行操作的SQL语句示范如下。-- 创建表insert into student values(null,'李丽',86);-- 增加记录举例insert into student values(null,'王五',99);insert into student values(null,'张三',88);-- 删除操作举例:从表中删除id=?的记录。

2302_81657110的博客 523

java8如何加载驱动类_每周 10 道 Java 面试题 : 面向对象, 类加载器, JDBC, Spring

1. 为什么说Java是一门平台无关语言?平台无关实际的含义是“一次编写到处运行”。Java 能够做到是因为它的字节码(byte code)可以运行在任何操作系统上,与底层系统无关。2. 为什么 Java 不是100%面向对象?Java 不是100%面向对象,因为它包含8个原始数据类型,例如 boolean、byte、char、int、float、double、long、short。它们不是对象。...

weixin_39613089的博客 127

java类加载器正确的是_Java面试题:面向对象,类加载器,JDBC, Spring 基础概念

1. 为什么说Java是一门平台无关语言?平台无关实际的含义是“一次编写到处运行”。Java 能够做到是因为它的字节码(byte code)可以运行在任何操作系统上,与底层系统无关。2. 为什么 Java 不是100%面向对象?Java 不是100%面向对象,因为它包含8个原始数据类型,例如 boolean、byte、char、int、float、double、long、short。它们不是对象。...

weixin_42460182的博客 399

java面向对象 JDBC

库名写规范一点,字符集: utf-8 和utf-8 mb4的区别就是 :仅仅就是后者可以支持存放一些特殊的表情 例如emoji表情。电脑--右键--管理--服务--mysql--右键--属性--自动 后续一直保持开启状态。应用场景:数据的长度不是固定的。应用场景:数据的长度是固定的。例如性别,身份证,邮编,学号。易错点:不要连接名和库名搞混, 注意:连接名是没有任何意义的。2.进入连接,会有默认的四个数据库,注意切记不要删除,因为删除了 你的mysql就要重装了。char是定长: 长度是恒定的。

2302_78447973的博客 104

利用Java面向对象编程,数据库技术,jdbc做一个购物系统

System.out.println("商品 ID: " + productId + ", 名称: " + productName + ", 价格: " + price + ", 库存: " + stock);System.out.println("客户 ID: " + customerId + ", 姓名: " + customerName + ", 联系方式: " + contactInfo);System.out.println("=== 商品管理 ===");

y14188的博客 1187

Java面试题:面向对象,类加载器,JDBC, Spring 基础概念

1. 为什么说Java是一门平台无关语言?平台无关实际的含义是“一次编写到处运行”。Java 能够做到是因为它的字节码(byte code)可以运行在任何操作系统上,与底层系统无关。2. 为什么 Java 不是100%面向对象?Java 不是100%面向对象,因为它包含8个原始数据类型,例如 boolean、byte、char、int、float、double、long、short。它们不是对象。...

weixin_34248705的博客 142

关于学习Java面向对象程序设计之JDBC图书管理系统

关于Java面向对象程序设计之JDBC图书管理系统

qq_57243652的博客 284
上一篇: Java面向对象—集合框架
下一篇: Java面向对象—JDBC查询
得闲饮茶呃
博客等级 码龄4年 303粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值