为什么需要JDBC?
- JDBC就是使用Java语言来操作关系型数据库的一套API。
- 市场拥有众多的数据库:MySQL、Oracle、DB2等等。不可能每个数据库都重新开发Java代码来适配不同的数据库,那么Sun公司定义一套标准接口来统一操作数据库。
其中所谓的MySQL实现类就是MySQL驱动(驱动Jar包)这样就只需要使用JDBC一套API适用各种数据库。
JDBC-API详解
- DriverManager:
- 注册驱动
- 获取数据库连接
- Connection:
- 获取执行SQL对象
- 管理事务
- 举个例子:
- Statement:
- 执行SQL语句
- ResultSet:
- 封装了DQL查询语句的结果
- 举个例子:
- PreparedStatement:
- 预防SQL注入
- 示例:
- 模拟登录逻辑:
- 模拟SQL注入:
- 拼接后SQL语句变成如下:
- 解决SQL注入问题(通过PreparedStatement):
- 无法再注入SQL:
- 原理就是PreparedStatement将参数中特殊符号进行了转义:
数据库连接池-Druid(德鲁伊)
- 什么是数据库连接池
- Druid数据库连接池框架的使用