JDBC~

这篇文章详细介绍了JDBCAPI的使用,包括DriverManager用于注册驱动和获取数据库连接,Connection对象用于执行SQL和管理事务,Statement和ResultSet分别用于执行SQL查询和存储结果。此外,还讨论了PreparedStatement的作用,它能预编译SQL以防止SQL注入,提供更安全的数据库操作。

JDBC

JDBC就是使用JAVA语言操作关系型数据库的一套API
JDBC是java处理数据库的接口

在这里插入图片描述
在这里插入图片描述

JDBC API详解

DriverManager

驱动管理类: 注册驱动,获取数据库连接
DriverManager是一个工具类
在mysql提供的Driver的驱动类中,静态代码块里会加载注册驱动
在这里插入图片描述
在mysql5之后的驱动jar包中,不需要 Class.forName(“com.mysql.jdbc.Driver”)来注册驱动

获取连接

使用的是getConnection静态方法
在这里插入图片描述

Connection

Connection:数据库连接对象
作用:获取执行SQL的对象,管理事务

在这里插入图片描述
Connection可以用来事务管理
在这里插入图片描述

将事务管理代码放到try-catch当中,一旦出现异常就在catch代码块中回滚

Statement

在这里插入图片描述

ResultSet

ResultSet:结果集对象,封装了DQL查询语句的结果 (就是将查询到的表给封装起来)

在这里插入图片描述
在这里插入图片描述

PreparedStatement

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

在这里插入图片描述

public class Demo1 {
    public static void main(String[] args) throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        String url = "jdbc:mysql://127.0.0.1:3306/db1";
        String user = "root";
        String password = "1234";
        Connection connection =  DriverManager.getConnection(url,user, password);
        String sql = "select * from user where user_name = 'root' and password = '123456'";
        Statement statement = connection.createStatement();
        System.out.println(statement.executeQuery(sql));
    }
}

在这里插入图片描述

PreparedStatement原理

在这里插入图片描述

预编译功能在写url时定义开启
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值