1.JDBC概述

JDBC即为Java数据库连接,是利用Java语言/程序连接并访问数据库的一门技术

1.1.数据库连接步骤

1.通过利用反射,获取jdbc的Driver驱动器
2.通过驱动器,获取一个连接数据库的链接
3.通过链接,获取一个和数据库交互的传输器
4.通过SQL语句,获取到服务器并返回执行结果
5.处理结果
6.释放资源

1.2.注入攻击

1.很多时候,sql语句是根据用户的需求(或由用户输入)而改变的,当用户传入的数据包含sql中的关键词,从而改变sql语句的语义,从而跳过程序处理逻辑,这样的攻击方式叫做sql的注入攻击

1.3.防止注入攻击

如何防止SQL注入攻击?
使用PreparedStatement对象时先将SQL语句的骨架发送给服务器编译并确定下来,编译之后,SQL语句的骨架和语义就不会被改变了
通过.set类型()来进行提前预编译

步骤

1.获取驱动器
2.通过驱动器获取一个数据库连接
3.写好sql语句,并将条件用”?”进行占位
4.获取一个防止sql注入攻击的传输器连接并将预编译好的sql语句放入
5.通果prepareStatement中的各种set方法进行赋值
6.执行并返回结果
7.释放资源
PreparedStatement为JDBC较为常用的,效率高,安全性强

1.4.数据连接池

池:指内存中的一片空间(集合,数组,集合)
连接池:将连接放在容器中,使整个程序共享,可以实现连接的复用,减少连接创建和关闭的次数,提高程序执行效率
为什么要使用连接池?
在不使用连接池的情况下,需要的时候创建,不需要的时候手动关闭,会出现几种不好的情况
1.手机开关费时费力,优化差,运行效率慢
2.在需要大量连接的时候,会使程序造成崩溃

所有的连接池要连接统一的接口DataSource

C3P0的参数赋值方式

1.set直接赋值参数
2.连接提取到properties文件中,文件需要改名为c3p0.properties
3.连接提取到.xml文件中,文件改名为c3p0.xml