0812JDBC随笔

1.Properties的load方法

Properties的load方法其实就是传进去一个输入流,字节流或者字符流,字节流利用InputStreamReader转化为字符流,然后字符流用BufferReader包装,BufferReader读取properties配置文件,每次读取一行,分割成两个字符串。因为Properties是Map的子类,然后用put将两个字符串装进Properties对象

2.JDBC结果集

  1. SQL语句执行后从数据库查询读取数据,返回的数据放在结果集中ResultSet接口表示数据库查询的结果集
  2. RestultSet对象维护指向结果集中当前行的游标。术语”结果集”是指包含在ResultSet对象中的行和列数据

3.setObject

setObject()用法与setInt(),setString()类似,但不需要指定参数类型,其中第一个是SQL语句中的第几个参数,第二个是要设置的值
例如:
SELECT * FROM tableName WHERE id=? AND Name=?

pstmt.setInt(1,100)就表示id=100
pstmt.setInt(2,”abc”)就表示此处Name=abc

4.Statement接口提供的三种执行SQL语句的方法executeQuery,executeUpdate和execute。

  • 方法executeQuery
    用于产生单个结果集的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法是 executeQuery。这个方法被用来执行 SELECT 语句,它几乎是使用最多的 SQL 语句。
  • 方法executeUpdate
    用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。
    使用executeUpdate方法是因为在 createTableCoffees 中的 SQL 语句是 DDL (数据定义语言)语句。创建表,改变表,删除表都是 DDL 语句的例子,要用 executeUpdate 方法来执行。你也可以从它的名字里看出,方法 executeUpdate 也被用于执行更新表 SQL 语句。
  • 方法execute:
    用于执行返回多个结果集、多个更新计数或二者组合的语句。因为多数程序员不会需要该高级功能
    execute方法应该仅在语句能返回多个ResultSet对象、多个更新计数或ResultSet对象与更新计数的组合时使用。当执行某个已存储过程 或动态执行未知 SQL 字符串(即应用程序程序员在编译时未知)时,有可能出现多个结果的情况,尽管这种情况很少见。

5.PreParedStatement

使用PreparedStatement:是Statement的子接口,可以传入带占位符的SQL语句,提供了补充占位符变量的方法

Original: https://www.cnblogs.com/heyiyuanqi/p/16579528.html
Author: 何以媛起
Title: 0812JDBC随笔

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611083/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • JUC学习笔记(二)

    1.1、Synchronized synchronized 是 Java 中的关键字,是一种同步锁。它修饰的对象有以下几种: 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的…

    数据库 2023年6月6日
    083
  • Shell 中 [[]]和[]的区别

    多数情况下 []和 [[]]是可以通用的,两者的主要差异是: test或 []是符合POSIX标准的测试语句,兼容性更强,几乎可以运行在所有Shell解释器中,相比较而言 [[]]…

    数据库 2023年6月14日
    086
  • MySQL函数学习(三)—–日期和时间函数

    注:笔记旨在记录 三、MySQL 日期和时间函数 3.1 获取时间、日期、年、月、日、周、日相关函数 \ 函 数 名 称 作 用 1 CURDATE 和 CU…

    数据库 2023年6月16日
    069
  • 译文 | MySQL 8.0 密码管理策略(一)

    MySQL 8.0 在密码管理方面有很多改善,本文将介绍以下两个特性。 密码重用策略 生成随机密码 简单地说,当您设置新密码时,您可以限制使用以前使用的密码。有两种策略: [En]…

    数据库 2023年5月24日
    082
  • MySQL–排序检索数据(ORDER BY)

    检索出的数据并不是以纯粹的随机顺序显示的。如果不排序,数据一般将以它在底层表中出现的顺序显示。这可以是数据最初添加到表中的顺序。但是,如果数据后来进行过更新或删除,则此顺序将会受到…

    数据库 2023年6月16日
    079
  • 2022-8-15 数据库 mysql 第一天

    Mysql数据库 数据库 数据库【按照数据结构来组织、存储和管理数据的仓库】。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 数据对于公司来说最宝贵的财…

    数据库 2023年6月14日
    080
  • 977.有序数组的平方

    给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10]输出…

    数据库 2023年6月16日
    093
  • InnoDB 中不同SQL语句设置的锁

    锁定读、UPDATE 或 DELETE 通常会给在SQL语句处理过程扫描到的每个索引记录上设置记录锁。语句中是否存在排除该行的WHERE条件并不重要。InnoDB不记得确切的WHE…

    数据库 2023年6月14日
    0108
  • 调用微信退款接口时出现System.Security.Cryptography.CryptographicException: 出现了内部错误 解决办法

    我总结了一下出现证书无法加载的原因有以下三个 1.证书密码不正确,微信证书密码就是商户号 解决办法:请检查证书密码是不是和商户号一致 2.IIS设置错误,未加载用户配置文件 解决办…

    数据库 2023年6月9日
    0115
  • Docker Bridge 网络原理

    Docker 的网络子系统是可插拔驱动式的,默认情况下存在或支持多种网络接口,如 bridge、host、overlay、macvlan 以及 none 类型的网络接口。 brid…

    数据库 2023年6月6日
    092
  • Netty-NIO基础

    一. NIO 基础 non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream,它就…

    数据库 2023年6月16日
    077
  • Docker 启动各个应用

    MySQL docker run -p 3306:3306 –name mysql -v /usr/mydata/mysql/log:/var/log/mysql -v /usr…

    数据库 2023年6月6日
    074
  • Linux–>开关机+用户管理指令

    shutdown关机 语法: shutdown -h 关机时间 now 立刻1 1分种后 s…

    数据库 2023年6月14日
    086
  • docker 搭建php 开发环境 添加扩展redis、swoole、xdebug

    docker-compose搭建lnmp 先决条件 首先需要安装docker 安装docker-compost 1、创建lnmp工作目录 #创建三个目录 mkdir lnmp &a…

    数据库 2023年6月11日
    090
  • MySQL45讲之生产环境下的性能问题

    本文介绍了一些常见的性能问题以及如何在生产环境中解决这些问题。 [En] This article introduces some common performance probl…

    数据库 2023年5月24日
    0108
  • harbor安装

    Harbor 简介 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registr…

    数据库 2023年6月11日
    082
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球