JDBC概述

#博学谷IT学习技术支持#

目录

#博学谷IT学习技术支持#

1.JDBC简介

1.1JDBC概念

1.2JDBC本质

1.3JDBC利处

2.JDBC快速入门

3.JDBC API 详解

3.1DriverManager

3.2Connection

3.3Statement

3.4ResultSet

3.5PreparedStatement


1.JDBC简介

1.1JDBC概念

JDBC 就是使用Java语言操作关系型数据库的一套API

全称:( Java DataBase Connectivity ) Java 数据库连接

1.2JDBC本质

官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口

各个数据库厂商去实现这套接口,提供数据库驱动jar包

我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类

1.3JDBC利处

各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发

可随时替换底层数据库,访问数据库的Java代码基本不变

2.JDBC快速入门

1. 创建工程,导入驱动jar包

2.注册驱动

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

3. 获取连接

Connection conn = DriverManager.getConnection(url, username, password);

4.定义SQL语句

String sql =  “update…” ;

5. 获取执行SQL对象

Statement stmt = conn.createStatement();

6. 执行SQL

7. 处理返回结果

8.释放资源

3.JDBC API 详解

3.1DriverManager

DriverManager(驱动管理类)作用:(1) 注册驱动 (2)获取数据库连接

3.2Connection

 url:连接路径:

语法:jdbc:mysql://ip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2…

示例:jdbc:mysql://127.0.0.1:3306/db1

细节: 如果连接的是本机mysql服务器,并且mysql服务默认端口是3306,则url可以简写为:jdbc:mysql:///数据库名称?参数键值对

配置 useSSL=false 参数,禁用安全连接方式,解决警告提示

3.3Statement

Statement作用: 执行SQL语句

int    executeUpdate(sql):执行DML、DDL语句 返回值:(1) DML语句影响的行数 (2) DDL语句执行后,执行成功也可能返回 0

ResultSet    executeQuery(sql):执行DQL 语句 返回值: ResultSet 结果集对象

3.4ResultSet

ResultSet(结果集对象)作用:

封装了DQL查询语句的结果

ResultSet    stmt.executeQuery(sql):执行DQL 语句,返回 ResultSet 对象

获取查询结果

boolean   next():(1) 将光标从当前位置向前移动一行 (2)判断当前行是否为有效行

     返回值:

             true:有效行,当前行有数据

              false:无效行,当前行没有数据

使用步骤: 1.游标向下移动一行,并判断该行否有数据:next()

                    2.获取数据:getXxx(参数)

 //循环判断游标是否是最后一行末尾

      while(rs.next()){    

         //获取数据    

         rs.getXxx(参数);

}

3.5PreparedStatement

PreparedStatement作用: 预编译SQL语句并执行:预防SQL注入问题

SQL注入是通过操作输入来修改事先定义好的SQL语句,用以达到执行代码对服务器进行攻击的方法。

PreparedStatement 好处: 预编译SQL,性能更高

                                           防止SQL注入:将敏感字符进行转义

PreparedStatement 预编译功能开启:useServerPrepStmts=true

PreparedStatement 原理:

1.在获取PreparedStatement对象时,将sql语句发送给mysql服务器进行检查,编译(这些步骤很耗时)

2.执行时就不用再进行这些步骤了,速度更快

3.如果sql模板一样,则只需要进行一次检查、编译

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值