JDBC介绍(三)

数字逻辑Fundamentals of Digital Logic with Verilog Design | 3rd Edition Solutins Chapter 2(step by step) 数字逻辑第二章习题和详细步骤 2-1 ~ 2-78 阅读详情
Statement ResultSet

Connection对象是代表Java与数据库的联机,接下来我们要执行SQL的话,必须取得Statement对象,它代替我们执行SQL叙述并取得执行之后的结果,我们可以使用Connection的createStatement()来建立Statement对象:

 
 Connection conn = DriverManager.getConnection(
                           url, user, password); 
 Statement stmt = conn.createStatement(); 
 

取得Statement对象之后,我们可以使用executeUpdate()、executeQuery()等方法来执行SQL,executeUpdate()主要是用来执行CREATE TABLE、INSERT、DROP TABLE、ALTER TABLE等会改变数据库内容的SQL,例如:

 
 stmt.executeUpdate("INSERT INTO message VALUES('Michael CHEN', " +
           "'caterpillar@mail.com', '留言吧', '2005-2-4'," + 
           "'欢迎')");
  

executeQuery()方法则是用于SELECT等查询数据库的SQL,executeUpdate()与executeQuery()都会传回ResultSet对象,代表变更或查询的结果,查询的结果会是一笔一笔的资料,我们使用next()来移动至下一笔资料,它会传回 true 或 false表示是否有下一笔资料,接着我们可以使用getXXX()来取得资料,例如getString()、getFloat()、getDouble()等方法,分别取得相对应的字段型态资料,getXXX()方法都提供有依字段名称取得资料,或是依字段顺序取得资料的方法,一个例子如下,我们指定字段名称来取得资料:

 
 ResultSet result = 
              stmt.executeQuery("SELECT * FROM message"); 
 while(result.next()) { 
    System.out.print(result.getString("name") + "/t"); 
    System.out.print(result.getString("email") + "/t"); 
    System.out.print(result.getString("subject") + "/t"); 
    System.out.print(result.getString("time") + "/t"); 
    System.out.println(result.getString("memo") + "/t"); 
 } 
 

使用查询到的结果之字段顺序来显示结果的方式如下:

 
 ResultSet result = 
              stmt.executeQuery("SELECT * FROM message"); 
 while(result.next()) { 
    System.out.print(result.getString(1) + "/t"); 
    System.out.print(result.getString(2) + "/t"); 
    System.out.print(result.getString(3) + "/t"); 
    System.out.print(result.getString(4) + "/t"); 
    System.out.println(result.getString(5) + "/t"); 
 } 
 

Statement的execute()也可以用来执行SQL,并可以用来测试所执行的SQL是执行更新或是查询,传回true的话表示SQL执行将传回多笔资料,也就是执行查询动作,如果是false,表示SQL执行结果将传回受影响的行数,也就是表示进行更新动作,如果事先无法得知是进行查询或是更新,就可以使用execute()。

下面的程序是个完整的范例,注意我们在查询结束后,可以使用Statement的close()方法来释放Statement的数据库资源与JDBC资源,而最后不使用联机时也使用Connection的close()来关闭联机:

  • DBTest.java
 
 package onlyfun.caterpillar;
 
 import java.sql.*;
 
 public class DBTest { 
    public static void main(String[] args) { 
        String driver = "com.mysql.jdbc.Driver"; 
        String url = "jdbc:mysql://localhost:3306/GUESTBOOK?" + 
                   "useUnicode=true&characterEncoding=Big5"; 
        String user = "myname"; 
        String password = "123456"; 
        try { 
            Class.forName(driver); 
            Connection conn = DriverManager.getConnection(
                                        url, user, password);
 
            Statement stmt = conn.createStatement(); 
            stmt.execute("INSERT INTO message VALUES('Michael Chen" + 
               "', 'blog.youkuaiyun.com/ybugchen', '留言吧', "+ 
               "'2005-2-4', '欢迎')"); 
 
            ResultSet result = stmt.executeQuery(
                                  "SELECT * FROM message"); 
            while(result.next()) { 
                System.out.print(result.getString(1) + "/t"); 
                System.out.print(result.getString(2) + "/t"); 
                System.out.print(result.getString(3) + "/t"); 
                System.out.print(result.getString(4) + "/t"); 
                System.out.println(result.getString(5) + "/t"); 
            }
 
            stmt.close(); 
            conn.close(); 
        } 
        catch(ClassNotFoundException e) { 
            System.out.println("找不到驱动程序"); 
            e.printStackTrace(); 
        } 
        catch(SQLException e) { 
            e.printStackTrace(); 
        } 
    } 
 }
 

最后注意到的是,Connection对象预设为自动「认可」(commit),也就是Statement执行SQL叙述完后,马上对数据库进行操作变更,如果想要对Statement要执行的SQL进行除错,可以使用setAutoCommit(false)来将自动认可取消,在执行完SQL之后,再呼叫Connection的commit()方法认可变更,使用Connection的getAutoCommit()可以测试是否设定为自动认可。

不过无论是否有无执行commit()方法,只要SQL没有错,在关闭Statement或Connection前,都会执行认可动作,对数据库进行变更。

 

YOLO系列专栏(六):YOLO26热力图可视化 | 解析模型推理逻辑,定位检测关键区域 YOLO26作为新一代目标检测模型,其核心优势是高效的特征提取和精准的目标定位,但模型内部的推理过程的“黑盒”特性,给我们的优化带来了很大困扰:❌ 检测精度低:不知道是模型没学到关键特征,还是特征提取不充分;❌ 出现误检/漏检:无法定位问题根源——是锚框不合适?还是特征图未捕捉到目标?❌ 模型优化盲目:调参、修改网络结构全靠“猜”,缺乏针对性;❌ 难以解释模型行为:实际项目中,需要说明模型“为什么检测到这个目标”,尤其是医疗、工业等对可解释性要求高的场景。而热力图可视化。 阅读详情

相关推荐

【Python】多分类算法—Random Forest

【Python】多分类算法—Random Forest 本文将主要就Random Forest(随机森林)的多分类应用进行描述,当然也可运用于二分类中 文章目录【Python】多分类算法—Random Forest前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 本文主要引用的是sklearn 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import nump

weixin_43166884的博客 1万+

JDBC概述(JDBC是什么,主要作用,驱动类型等)

JDBC是一种可用于执行SQL语句的JAVA API,是链接数据库和JAVA应用程序的纽带

weixin_52009798的博客 1万+

文章详细介绍了进行DoIP(DiagnosticoverInternetProtocol)测试的完整过程,包括样件的正确接线、CANoe软件的环境配置、端口设置、VLAN配置、IP和MAC地址的设定

关于Tester和DUT的地址,其实最主要的就是DUT的IP、MAC和逻辑地址,如果不知道Tester的IP、MAC和逻辑地址,可以配置为与DUT同一网段的就可以。ps:最重的是知道DUT的IP、逻辑、MAC地址,如果有VLAN也需要知道,Tester的地址可以根据DUT地址进行设定,其余的值可根据DoIP的报文查到相关参数。ps:如果在通信中没有建立VLAN,但是源地址和目的地址都填写正确,此时就要考虑是否是遗漏了VLAN,建立一个VLAN,在重新试试是否可通信。此处与硬件连接是相对应的,要注意!

qq_40965861的博客 1128

JDBC的释义和功能及优缺点的概述

什么是JDBC?     JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。    JDBC提供的主要功能是:1)同一个数据库建立连接;2)向数据库...

loen_77的博客 7996

在Unity3d使用yolov8的onnx模型

输出OUTPUTS是float32[1,35,8400],表示它会输出一个大小为[1, 35, 8400]的浮点数张量。这个输出张量的维度表示了检测到的目标的数量、每个目标的预测参数以及网格单元的数量。输出张量的第一个维度1表示检测到的目标数量。每个目标由35个值组成,表示目标的类别、置信度、边界框的坐标及10个特定点的位置。要取得8400个数据中置信度最高的数据,然后获取该数据其他channel的数据。运行结果:(蓝色是检测手的边框,红点是自定义的点),其中的四个数字分别表示不同的维度。

shenqingyu0605202324的博客 5603

PackML工业标准解析:统一机器状态管理与数据交换的实践指南

在工业自动化与智能制造领域,实现设备间的互联互通与高效协同是核心挑战。这背后依赖于一套标准化的机器行为与数据交换规范,其原理在于通过定义统一的状态模型与接口协议,消除不同厂商设备间的“语言”隔阂。这项技术的核心价值在于大幅降低系统集成复杂度、提升运维效率与生产透明度,是构建数字化工厂的基石。其典型应用场景包括包装机械、离散制造产线等需要多设备协同的领域。本文聚焦的PackML(包装机械语言)标准,正是这一理念的杰出实践,它通过一套严谨的**状态机模型**和**数据标签(PackTags)** 体系,为机器提

weixin_30070339的博客 401

8-1、JDBC对象介绍(4大参数等)

1 JDBC中的主要类(接口) 在JDBC中常用的类有: l DriverManager;(注册驱动类,调用该类就执行静态代码块的内容,自己注册) l Connection;数据库连接, 可以得到statement,preparedStatement:java.sql.类 l Statement; l ResultSet。 2 DriverManager 其实...

weixin_30326741的博客 307

vue3+vite - 解决报错error while updating dependencies:Error:EACCES:permission denied,mkdir ‘x‘(系统权限问题)

vue3,vite,报错,nuxt,权限,苹果mac系统,windows系统,vue3报错,vite报错,node,详细解决方法,教程,[vite] error while updating dependencies: Error:EACCES:permission denied,mkdir 'x',更新依赖项时发生[vite]错误:错误:EACCES:权限被拒绝,mkdir,苹果mac系统加了sudo还是不行报错,运行报错,启动项目,run dev,创建项目,初始化,依旧不行怎么办,保权限没有问题,换了n

✅ 精选推荐文章 5556

jdbc作用及步骤

核心包 java.sql 主要作用: 与一个数据库建立连接 向数据库发送SQL语句 处理数据库返回的结果 Connection:此接口表示与数据的连接      PreparedStatement:此接口用于执行预编译的 SQL 语句 ResultSet :此接口表示了查询出来的数据库数据结果集 DriverManage:此类用于加载和卸载各种驱动程序并建立与数据库的连接 S

maomao092092的专栏 895

系统盘被 1Panel 撑爆了?一键脚本 3 分钟搞定无损迁移!(1Panel如何快速无损的修改安装目录)

很多用户因默认安装导致 1Panel 面板占满系统盘 😱,本文详解了为何常规快照迁移会失效,并提供了通过**一键自动化脚本**实现无损迁移的完美方案 🛠️。无论你是 NAS 用户还是服务器管理员,都能找到安全扩容的最佳实践。

XiaoqiangClub的博客 1279

28-手把手教你手写CPU-Verilog - 乘法器设计:Booth算法与Wallace树乘法器

文章摘要: 本文详细介绍了两种高效乘法器设计方法:Booth算法和Wallace树乘法器。Booth算法通过检测乘数连续1/0减少部分积,适合有符号数运算;Wallace树采用树形结构压缩部分积,显著降低延迟。文章包含算法原理、具体示例、Verilog实现代码(4位乘法器)及性能对比表,指出Booth适用于通用处理器,Wallace树更适合高性能DSP/GPU。最后强调实际设计中需根据速度、面积和功耗需求选择合适方案。

2301_79143213的博客 206

jdbc功能类详解

03-jdbc功能类详解-DriverManager 1.DriverManager DriverManager:驱动管理对象 注册驱动(告诉程序该使用哪一个数据库驱动) static void registerDriver(Driver driver):注册与给定的驱动程序 DriverManager 写代码使用:Class.forName(“com.mysql.jdbc.Driver”); 通过查看源码发现:在com.mysql.jdbc.Driver类中存在静态代码块 static {

Major_S的博客 538

SAP 系统和银行系统通过 SM2 加密算法进行集成

SM2 是基于椭圆曲线离散对数问题(ECDLP)的一种公钥密码算法。椭圆曲线加密的核心原理,是利用了一个数学难题:在椭圆曲线群上,已知曲线上两点的运算结果,逆向推导出这两个点的具体信息是非常困难的。这样的复杂度使得基于椭圆曲线的密码体制比传统的 RSA 更加难以破解。在 SM2 加密中,公钥和私钥的生成与传统的椭圆曲线加密类似。选择一个椭圆曲线和一个基点 P。使用私钥 d,计算公钥 P’ = d * P。私钥 d 保密,而公钥 P’ 可公开分发,用于加密数据。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1212

JDBC简单介绍三

JDBC API既支持数据库访...

专注数据库、大数据领域干货分享,用严谨的数据技术广交天下朋友。 132

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

JDBC (三) --- PreparedStatement对象介绍

1:PreperedStatement是Statement的子类,它的实例对象可以通过Connection.preparedStatement()方法获得,相对于Statement对象而言:PreperedStatement可以避免SQL注入的问题。 2:Statement会使数据库频繁编译SQL,可能造成数据库缓冲区溢出。PreparedStatement可对SQL进行预编译,从而提高数据库的执...

但行好事 莫问前程 1247

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

什么是JDBC

包(数据库厂商提供的驱动 包)的形式提供给开发人员使用,开发人员使用反射的机制创建这些具体实现类,按照JDBC。的规范,实现自身数据库操作的功能代码,然后以。,提供了诸如查询和更新数据库中数据的方法。的规范来完 成数据库的操作。是面向关系型数据库的。中用来规范客户端程序。

m0_70648941的博客 845

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

[SQL]:如何简化JDBC代码

问题的提出在一个应用程序中,处理JDBC的操作是一个重复率较高的工作。当你在一个JDBC数据源上执行SQL查询时,你通常需要执行下面几个步骤: 1.生成SQL语句 2.获得连接 3.获得一个PreparedStatement对象 4.在PreparedStatement对象中设定需要送入到数据库的值 5.执行SQL语句 6.处理查询结果 除此之外,你还需要处理SQLException异常。

键者天行 6306

复习1:数据库以及JDBC复习

这段时间一直都是在学习javaEE的相关内容,一直都是边听课边操作,一直听到了后面会话的内容了,但是前面的一些知识由于内容过多所以很多都忘记了。在这里分几次进行复习,第一次先复习数据库的先关内容。在这里主要不是将所有的知识点都囊括进来,而是将上课老师提到的面试题以及一些经典例题以及老师上课的一些思路进行一些整体,方便之后能够对照着代码进行反复学习。 1.面试题: 1. 什么是SQL? 答:Structured Query Language:结构化查询语言 其实就是定义了操作所有关系型数据库的规则。每一种数据

qq_40971025的博客 445

如何用jdbc访问MS Access数据库

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 320

JDBC URL

1.JDBC URL的概念JDBC URL提供了一种标识数据库的方法,可以使相应的驱动程序能识别该数据库并与之建立连接。实际上,驱动程序编程员将决定用什么JDBC URL来标识特定的驱动程序。用户不必关心如何来形成JDBC URL,它们只须使用与所用的驱动程序一起提供的URL即可。JDBC的作用是提供某些约定,驱动程序程序员在构造它们的JDBC URL时应该遵循这些约定。(1)由于JDBC

dahaidao的专栏 4305

jdbc简单操作

jdbc的简单操作,使用idea简单操作mysql

asd590的博客 185

Mysql & JDBC 测试

定义:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。 应用场景:微服务开发,因为项目是多模块单独运行在各自的服务器 其余待补充

Lynnand的博客 957

jdbc连接access的方法

第一种:  你用下面的代码试试 (强烈建议也是only可以建议的方法)  con = DriverManager.getConnection("jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=C:/data/Access/test1.mdb","dba","sql");   后面的代码一样。这样你就可以访问access数据库了。    ...

shazhifeng的专栏 325

Oracle JDBC连接的三种方式

格式一: Oracle JDBC Thin using an SID: jdbc:oracle:thin:@host:port:SID Example: jdbc:oracle:thin:@localhost:1521:orcl 格式二: Oracle JDBC Thin using a ServiceName: jdbc:oracle:thin:@//host:port/se...

守护熊猫 926

oracle jdbc驱动_JDBC(1)

JDBCJDBC是连接Java程序和数据库的纽带,JDBC的实现封装了与各种数据库服务器通信的细节。Java程序通过JDBC API来访问数据库。其中JDBC API位于java.sql包中,javax.sql包中包含了一些提供高级特性的API。JDBC的实现包含三个部分:JDBC驱动管理器:java.sql.DriverManager类。由Oracle公司实现,负责注册特定JDBC驱动...

weixin_39628041的博客 642

Java学习【阶段三[02】JDBC(02 DCL管理用户)

qq_41915980的博客 193
上一篇: JDBC介绍(二)
下一篇: JDBC介绍(四)
ybugchen
博客等级 码龄22年 1粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值