详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)

引文

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第1张图片

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第2张图片

快速入门

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第3张图片

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第4张图片

常见API(重点)

1.DriverManager(获取与数据库的连接)——useSSL=false解除安全检查

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第5张图片

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第6张图片

注册驱动可省略不写

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第7张图片

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第8张图片

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第9张图片

2.Connection(获取执行Sql的对象)

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第10张图片

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第11张图片

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第12张图片

要开启事物则setAutoCommit(false)。

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第13张图片

回滚事物到开启事务处,期间执行的sql语句不生效

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第14张图片

3.Statement(执行Sql语句和获取数据库数据)

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第15张图片

1.executeUpdate(sql)

DML:数据的增删改

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第16张图片

对于DML,若影响的行数大于0则表示Sql执行成功。

DDL:数据、表的操作

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第17张图片

2.executeQuery(sql)语句计ResultSet数据集对象

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第18张图片

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第19张图片

示例代码:

1.根据数据库的列取数据,列的索引是从1开始的

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第20张图片

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第21张图片

2.根据数据库的列名获取数据

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第22张图片

4.PrepareStatement(预防Sql注入问题))——useServerPrepStmts=true开启预编译提高性能

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第23张图片

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第24张图片

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第25张图片

Sql注入示例

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第26张图片

Sql注入,拼接字符串后恒成立了

image-20231209112828858

核心问题,就是拼接字符串导致了,下面介绍用参数替换来代替凭借字符串以解决Sql注入问题


详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第27张图片

要设置整数值,用setInt咯

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第28张图片

会对敏感字符进行转义

image-20231209113337930

开启预编译

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第29张图片

数据库连接池(重点)

类似线程池,避免资源浪费

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第30张图片

不要用DriverManaget.getConnection()了

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第31张图片

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第32张图片

1.导入jar包

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第33张图片

2.定义配置文件.properties

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第34张图片

键值对形式,注意键的名称别写错

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第35张图片

3.加载配置文件,也就是导入文件中的键值对

image-20231209120212530

System.getProperty("user.dir")可以当前项目的根路径

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第36张图片

4.获取连接池的对象,类.方法名调用

image-20231209115915275

5.获取数据库的连接

详解JDBC、Sql注入及数据库连接池(通俗易懂版,一学就会)_第37张图片

接下来连接获取Statement和执行Sql的操作就和JDBC一样了

你可能感兴趣的:(Java学习从0到1,数据库,sql,JDBC,连接池)