IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> JDBC的连接步骤和状态通道、“预”状态通道的区别 -> 正文阅读

[大数据]JDBC的连接步骤和状态通道、“预”状态通道的区别

JDBC的连接步骤

导入连接MySQL的jar包
代码实现

1.加载驱动

Class.forName("com.mysql.cj.jdbc.Driver");

2.连接数据库(MySQL的数据库的路径及其相关配置信息,root(用户名,MySQL数据库一般默认为root),MySQL数据库的密码)

String URL = "jdbc:mysql://localhost:3306/数据库的名称?serverTimezone=UTC";
String USER = "root"; 
String PASS = "password" 
Connection conn = DriverManager.getConnection(URL, USER, PASS);

3.创建状态通道(进行SQL语句的发送),并获得结果集(针对查询操作),查询操作返回的结果集使用ResultSet类进行接收。对于增删改操作返回的是int类型的数字,表示受影响的行数

//1.通过连接数据库创建的对象,创建Statement对象
Statement statement = conn.createStatement();
//2.通过Statement对象的方法执行SQL语句
//2.1 SQL查询的方法,获得结果集
ResultSet rs = statement.executeQuery("SQL查询语句");
//2.2 SQL增删改操作的方法
int i = statement.executeUpdate("SQL增删改语句");

4.遍历结果集/取出结果集(增删改操作省略此步骤)

while(rs.next()){//判断是否有下一条数据
//通过ResultSet类下的方法获得相应字段下的信息
//例如:rs.getXxx("字段名/字段的相对位置"),Xxx代表字段对应的数据类型
}

5.释放资源

//结果集对象.close();
//状态通道对象.close();
//数据库连接对象.close();

状态通道

状态通道:使用数据库连接对象创建的Statement对象

Statement statement = conn.createStatement();

在执行SQL语句的方法中,可以实现SQL注入,即可以实现字符串与SQL语句的任意拼接。

预状态通道

1.预状态通道:使用数据库连接对象创建的PreparedStatement对象

Prepared pps = conn.preparedStatement("SQL语句");

2.在预状态通道内的SQL语句中可以使用占位符:?,占位符的操作只能传入对应的一个参数
3.使用预状态通道对象的方法给占位符进行赋值

pps.setXxx(下标,内容)//Xxx为要传入数据的数据类型,下标从1开始

4.在预状态通道内执行SQL语句

ResultSet rs = pps.executeQuery();//此处为无参的查询方法

状态通道和预状态通道的区别总结

(1)statement属于状态通道,PreparedStatement属于预状态通道
(2)预状态通道会先编译sql语句,再去执行,比statement执行效率高
(3)预状态通道支持占位符?,给占位符赋值的时候,位置从1开始
(4)预状态通道可以防止sql注入,原因:预状态通道在处理值的时候以字符串的方式处理

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-03 17:09:35  更:2021-10-03 17:10:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:45:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码