1.jdbc的概念
JDBC(Java DataBase Connectivity:java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问,它是由一组用Java语言编写的类和接口组成的。
JDBC的作用:可以通过java代码操作数据库
2.jdbc的本质
其实就是java官方提供的一套规范(接口)。用于帮助开发人员快速实现不同关系型数据库的连接!
3 JDBC的编程步骤
JDBC开发六步
1. 加载驱动
2. 获取链接
3. 准备SQL以及发送SQL的工具
4. 执行SQL
5. 处理结果集
6. 释放资源
SQL注入攻击
-
sql注入攻击:就是利用sql语句的漏洞来对系统进行攻击
-
分析:
- 登陆的时候,会调用UserDaoImpl .findByLoginNameAndPassword 方法
- 此方法中的sql语句如下
//2.定义SQL语句 String sql = "SELECT * FROM user WHERE loginname='"+loginName+"' AND password='"+password+"'"; System.out.println(sql); //3.获取操作对象,执行sql语句,获取结果集 st = conn.createStatement(); rs = st.executeQuery(sql); //4.获取结果集 if (rs.next()) { //5.封装 user = new User(); user.setUid(rs.getString("uid")); .... } //6.返回 return user;
JDBC管理事务
-
1. 介绍
- JDBC如何管理事务
- 管理事务的功能类:Connection
- 开启事务:setAutoCommit(boolean autoCommit); 参数为false,则开启事务。
- 提交事务:commit();
- 回滚事务:rollback();
装饰设计模式归还数据库连接的实现步骤
定义一个类,实现 Connection 接口
定义 Connection 连接对象和连接池容器对象的成员变量
通过有参构造方法完成对成员变量的赋值
重写 close() 方法,将连接对象添加到池中
剩余方法,只需要调用 mysql 驱动包的连接对象完成即可
在自定义连接池中,将获取的连接对象通过自定义连接对象进行包装