JDBC介绍(三)

Tesseract in Java - Intellij IDEA对Tess4J的配置和使用 最近要弄OCR,搜到这个,官网全英文,很烦,看看有没有中文的博客介绍,擦,一个比一个奇葩,还是自己按照官方的来吧,外网慢的很,传到csdn给大家下载。中文训练库下载地址: http://download.youkuaiyun.com/detail/d_dmelon/9916532Tess4J3.4下载地址: http://download.youkuaiyun.com/detail/d_dmelon/9916519安装 阅读详情
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前,都会执行认可动作,对数据库进行变更。

 

1. 在 SAP ABAP 事物码 SEGW 里创建 SAP OData 项目 本文介绍如何在 SAP ABAP 事物码 SEGW 里创建 SEGW 项目,使用工具生成 Runtime 运行时需要的资源。 阅读详情

相关推荐

LT9611EX芯片实战:如何用双端口MIPI转HDMI1.4打造高清播放器(附配置代码)

本文详细介绍了如何使用龙迅半导体的LT9611EX芯片实现双端口MIPI转HDMI1.4的高清播放器开发。内容涵盖芯片特性、硬件设计要点、寄存器配置技巧及完整代码实现,特别适合嵌入式视频处理应用,如机顶盒和便携式媒体播放器。

weixin_29256771的博客 322

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

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

weixin_52009798的博客 1万+

OpenV2X 车路协同开源平台 Columbia 版本正式发布!

OpenV2X车路协同开源平台Columbia 版本正式发布!

weixin_65571684的博客 1198

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

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

loen_77的博客 7996

TexGen模型导出到ABAQUS的inp文件:如何快速修改纱线材料属性(避坑指南)

本文针对TexGen模型导出到ABAQUS的inp文件后纱线材料属性缺失或错误的问题,提供了高效的解决方案。文章详细解析了inp文件结构,指导用户如何手动定位并修改纱线材料属性,并提供了可批量处理的Python脚本,帮助用户快速、精准地完成材料参数赋值,有效提升复合材料仿真工作效率。

ice55的博客 602

高通SDX55平台:5G速率问题排查分析方法

和大家分享一下高通5G平台5G速率问题排查分析方法。

四儿家的小祖宗的博客 5219

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

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

weixin_30326741的博客 307

GeoServer改造Springboot源码一(公共部分)

今天开始开启关于GeoServer的一个全新系列,主要是把改造Springboot后的详细代码粘贴出来,此文应配合《》系列共同阅读,按照前系列的时间顺序结合此系列的源码展示可以快速构建GeoServer功能的二次封装的后端系统。

龙井的专栏 1902

jdbc作用及步骤

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

maomao092092的专栏 895

从 SEGW 到 SADL 的那根线,彻底理解 OData Data Source Mapping

本文摘要(150字): 在SAP Gateway的SADL型OData服务开发中,"Map to Data Source"是关键配置环节。与传统RFC映射不同,SADL映射不是针对单个CRUDQ操作,而是建立OData模型与SADL业务实体间的完整语义对应关系。通过属性映射和关联映射,系统能自动处理数据获取和导航请求。映射编辑器支持三种模式:属性映射处理字段对应,关联映射处理模型间关系,动作映射处理业务操作。映射的本质是建立语义翻译表,决定了后续OData请求如何转化为后端业务实体访问,而非简单的字段重命名

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

Deepfake检测模型-PyDeepFakeDet项目复现实验报告-深度学习

该实验是对于https://github.com/wangjk666/PyDeepFakeDet模型的复现。PyDeepFakeDet 是一款集成的、可扩展的 Deepfake 检测工具。目标是提供最先进的 Deepfake 检测模型以及用于在常用 Deepfake 数据集上训练和评估新模型的接口。

一位不是很硕的鉴伪方向硕士 5494

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

四旋翼飞行器建模(一)

四旋翼飞行器的姿态运动学和姿态动力学建模方法。

加斯顿工程师的博客 685

JDBC简单介绍三

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

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

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

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

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

但行好事 莫问前程 1247

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

什么是JDBC

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

m0_70648941的博客 845

[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事务操作

JdbcTransaction 事务操作 要么相关的都操作,但凡有一个出错,相关的都要回滚到操作前的状态 JDBC程序中为了让多个 SQL 语句作为一个事务执行: 调用 Connection 对象的 setAutoCommit(false); 以取消自动提交事务 在所有的 SQL 语句都成功执行后,调用 commit(); 方法提交事务 在出现异常时,调用 rollback();

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值