JDBC 常用API简介


前言

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法,本文简要介绍几个常用的JDBC的API。

一、DriverManager

DriverManager(驱动管理类)作用:

1.注册驱动

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

2.获取数据库连接

static Connection | getConnection(String url,String username,String password)

参数:
1.url:连接路径
语法:jdbc:mysql://ip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2…
示例:jdbc:mysql://127.0.0.1:3306/mydb
2.user:用户名
3.password:密码(mysql)


二、Connection

Connection(数据库连接对象)作用:

1.获取执行SQL的对象

1)普通执行SQL对象

Statement   createStatement

2)预编译SQL的执行SQL对象:防止SQL注入

PreparedStatement   prepareStatement(sql)

3)执行存储过程的对象

CallableStatement   prepareCall(sql)

2.管理事务
JDBC事务管理:Connection接口中定义了3个对应的方法

1.开启事务:setAutoCommit(boolean autoCommit):true为自动提交事务;false为手动提交事务,即为开启事务
2.提交事务:commit()
3.回滚事务:rollback()


三、Statement

Statement作用:

1.执行SQL语句
例:

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

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


四、ResultSet

ResultSet(结果集对象)作用:

1.封装了DQL查询语句的结果
而执行了DQL语句后就会返回该对象,对应执行DQL语句的方法如
下:

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

获取查询结果
1)
boolean next()(1)将光标从当前位置向前移动一行 (2)判断当前行是否为有效行
方法返回值说明:
true : 有效行,当前行有数据
false : 无效行,当前行没有数据
2)
xxx getXxx(参数):获取数据
xxx : 数据类型;如: int getInt(参数) ;String getString(参 数)
参数:
int类型的参数:列的编号,从1开始
String类型的参数: 列的名称


五、PreparedStatement

PreparedStatement作用:

1.预编译SQL语句并执行:预防SQL注入问题
SQL注入:SQL注入是通过操作输入来修改事先定义好的SQL语句,用以达到执行代码对服务器进行攻击的方法。

①获取 PreparedStatement 对象

// SQL语句中的参数值,使用?占位符替代
String sql = "select * from user where username =
? and password = ?";
// 通过Connection对象获取,并传入对应的sql语句
PreparedStatement pstmt =
conn.prepareStatement(sql);

②设置参数值
PreparedStatement对象:setXxx(参数1,参数2):给 ? 赋 值
Xxx:数据类型 ; 如 setInt (参数1,参数2)
参数:
参数1: ?的位置编号,从1 开始
参数2: ?的值

③执行SQL语句
executeUpdate(); 执行DDL语句和DML语句
executeQuery(); 执行DQL语句

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

1)在获取PreparedStatement对象时,将sql语句发送给mysql服务器进行检查,编译(这些步骤很耗时) 执行
2)时就不用再进行这些步骤了,速度更快
3)如果sql模板一样,则只需要进行一次检查、编译
在这里插入图片描述

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值