文章目录
- JDBC
- JDBC API详解
- DriverManager
- Connection
- Statement
- ResultSet
- PreparedStatement
- PreparedStatement原理
JDBC
JDBC就是使用JAVA语言操作关系型数据库的一套API
JDBC是java处理数据库的接口
JDBC API详解
DriverManager
驱动管理类: 注册驱动,获取数据库连接
DriverManager是一个工具类
在mysql提供的Driver的驱动类中,静态代码块里会加载注册驱动
在mysql5之后的驱动jar包中,不需要 Class.forName(“com.mysql.jdbc.Driver”)来注册驱动
获取连接
使用的是getConnection静态方法
Connection
Connection:数据库连接对象
作用:获取执行SQL的对象,管理事务
Connection可以用来事务管理
将事务管理代码放到try-catch当中,一旦出现异常就在catch代码块中回滚
Statement
ResultSet
ResultSet:结果集对象,封装了DQL查询语句的结果 (就是将查询到的表给封装起来)
PreparedStatement
预编译SQL语句并执行:预防SQL注入问题
SQL注入:SQL注入是通过操作输入来修改事先定义好的SQL语句,用以达到执行代码对服务器进行攻击的方法
public class Demo1 {
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://127.0.0.1:3306/db1";
String user = "root";
String password = "1234";
Connection connection = DriverManager.getConnection(url,user, password);
String sql = "select * from user where user_name = 'root' and password = '123456'";
Statement statement = connection.createStatement();
System.out.println(statement.executeQuery(sql));
}
}
PreparedStatement原理
预编译功能在写url时定义开启