MySQL - JDBC

简介

JDBC(Java DataBase Connectivity)是Java和所有数据库之间的一个桥梁,是Java语言操作关系型数据库的一套API,是一个规范而不是一个实现,能够执行SQL语句。它由一组用Java语言编写的类和接口组成。各种不同类型的数据库都有相应的实现,本文中的代码都是针对MySQL数据库实现的。
MySQL - JDBC_第1张图片

JDBC快速入门

MySQL - JDBC_第2张图片

API详解

DriverManager

  1. 注册驱动MySQL - JDBC_第3张图片
  2. 获取连接
    MySQL - JDBC_第4张图片

Connection

MySQL - JDBC_第5张图片

  • 代码实现:

MySQL - JDBC_第6张图片

  • rollback不能放在throw后边

Statement

MySQL - JDBC_第7张图片
executeUpdate代码实现如上图所示

resultset

MySQL - JDBC_第8张图片

  • 光标默认指向数据行的上一行
  • 使用
    MySQL - JDBC_第9张图片
案例

需求:MySQL - JDBC_第10张图片
代码:
MySQL - JDBC_第11张图片

Preparedstatement

MySQL - JDBC_第12张图片
SQL注入演示:在这里插入图片描述

PreparedStatement演示:
MySQL - JDBC_第13张图片

  • executeUpdate()和executeQuery()的区别:
    相同点:二者都能够执行增加、删除、修改等操作。

不同点:

1、execute可以执行查询语句,然后通过getResult把结果取出来。executeUpdate不能执行查询语句。

2、execute返回Boolean类型,true表示执行的是查询语句,false表示执行的insert、delete、update等。executeUpdate的返回值是int,表示有多少条数据受到了影响。
MySQL - JDBC_第14张图片

  • 已在pstmt对象的获取语句中输入sql,故在executeQuery中不可再进行输入
  • pstmt.set方法有许多类型,根据字段类型进行选择
  • 此时的SQL注入:
  • 在这里插入图片描述
原理

MySQL - JDBC_第15张图片

  • 配置日志是为了原理可视化,不影响预编译是否可以使用

数据库连接池

MySQL - JDBC_第16张图片
MySQL - JDBC_第17张图片

###Druid使用
MySQL - JDBC_第18张图片

  • load一步,需要注意name的值:
    在这里插入图片描述
    得到路径,然后将jdbc后的内容输入name,才能正确找到druid配置文件
    MySQL - JDBC_第19张图片

练习

MySQL - JDBC_第20张图片

你可能感兴趣的:(mysql,数据库)