一、简介
即我们可以利用jdbc的标准联结任意的数据库
二、流程
以上的state.execute()在执行有结果的语句时返回的是true,执行没有结果的语句时返回的是false。注意它代表的不是语句的执行成功与否。
三、增删改
这里的flag代表的是sql语句影响的行数,一般我们认为flag为0的时候sql语句执行失败
四、查
查询结果是一个resultset的结果集对象
需要注意的是结果集也需要关闭
五、DAO与工厂设计模式
六、SQL注入
如何解决SQL注入问题
预处理
新手建议使用PreparedStatement
以下分别是预处理和不预处理进行1000次登录的时间对比,可以发现在mysql数据库中PreparedStatement稍微比Statement要慢一点点,但差距不是很大
七、事务
start transactin | begin
rollback
commit
隔离级别是通过锁来完成的
八、批处理
Statement未使用批处理
Statement使用批处理
PreparedStatement未使用批处理
PreparedStatement使用批处理
九、数据库连接池
Druid连接池比大多数连接池的效率都要高,建议使用Druid连接池
可以使用德鲁伊工具类对其进行封装
DBCP工具类同理