一.概述
1.JDBC(Java DataBase Connectivity)java数据库连接
● 是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问, 它由一组用Java语言编写的类和接口组成。
2.JDBC API:
供程序员调用的接口与类,集成在java.sql包中
DriverManager类作用:管理各种不同的jDBC驱动
Connection 接口 与特定数据库的连接
Statement 接口 执行sql
PreparedStatement接口执行sql
ResultSet接口 接收查询结果
二.JDBC的搭建
1.搭建流程
(1)注册JDBC驱动程序
(2)加载驱动类
(3)建立与数据库连接
URL : jdbc:mysql://ip(127.0.0.1):端口(3306)/数据库名?serverTimezone=Asia/Shanghai
(4)发送sql
2.实例
(1)添加数据
(2)修改数据
(3)删除数据
(另外一种格式)
三.PreparedStatement和Statement
1.区别
相同点:都是向数据库发送sql
Statement:
将参数直接拼接到sql中,要拼接字符串写起来麻烦,安全性差(调用方法中传入参数"112 or 1=1"会直接清除数据表)
PreparedStatement:
先用?占位,再通过setObject方法赋值,写起来不用拼接字符串,安全可靠。(在赋值时进行检测,可以防止sql注入攻击)
四.结果集处理
执行查询操作,接收包装查询结果。
ResultSet rs = ps.executeQuery();
while (rs.next()){
//每循环一次,拿到一个学生对象
Student student = new Student();
student.setNum(rs.getInt("num"));
student.setName(rs.getString("name"));
student.setGender(rs.getString("gender"));
student.setBirthday(rs.getDate("birthday"));
student.setPhone(rs.getString("phone"));
student.setRegTime(rs.getTimestamp("reg_time"));
students.add(student);//将学生对象存入到学生集合中
}