JDBC
一、JDBC概述
1、什么是JDBC?
JDBC:java数据库连接
利用java语言访问数据库的一门技术
2、为什么要学习JDBC?
后面在开发中更多是通过java程序来访问数据
通过java程序来访问数据需要用到JDBC这门技术
3、如和通过JDBC访问数据库?
(1)注册驱动
(2)获取连接
(3)获取传输器
(4)执行sql语句,返回执行结果
(5)处理结果
(6)释放资源
二、JDBCUtils工具类实现
getConnection - - 获取并返回一个连接对象
close - - 释放资源
三、PreparedStatement和SQL注入攻击
Statemnet对象
PreparedStatement
例子:12360 - - SQL注入攻击
优势:
(1)采用预编译,可以防止sql注入攻击
(2)通过方法设置sql参数更加方便
(3)能够尽最大可能提高程序执行的效率
四、批处理
(1)将大量的sql打成一个批,一次性发送到数据库执行的一门技术。
(2)如果要有大量的sql语句到数据库执行,通过批处理可以减少sql语句发送的次数,提高程序的效率。
(3)JDBC 事务 (默认提交)
五、数据库连接池
1、什么是数据库连接池?
存放数据库连接的池子(容器)
把连接放在容器中,供整个程序共享,实现连接的服用!
2、为什么要使用连接池?
如果通过传统方式,需要连接时直接跟数据库要(创建)一个连接,用完后再关闭连接还给数据库,其中创建和销毁的过程是非常消耗资源,并且效率比较低。
在程序启动时,将一批连接放在连接池(容器)中,当我们需要连接时,直接从连接池里面拿一个连接使用,用完之后也不要关闭,直接还给连接池即可,这个可以实现连接的服用,减少连接开关的次数,提高程序执行的效率!
3、如和使用连接池开发数据库程序(c3p0)?
(1)导入c3p0的开发包
(2)在源码目录(src或者相似的目录)下,提供一个c3p0-config.xml文件
(3)在程序中创建一个连接池实例
ComboPooledDataSource pool = new ComboPooledDataSource();
(4)从连接池中获取一个连接对象
pool.getConnection()
…
…
(5)用完连接后,记得将连接还给连接池!