JDBC的本质:
官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
JDBC入门步骤:
1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar
1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下
2.右键-->Add As Library
2. 注册驱动
3. 获取数据库连接对象 Connection
4. 定义sql
5. 获取执行sql语句的对象 Statement
6. 执行sql,接受返回结果
7. 处理结果
8. 释放资源
对应代码:
public class JDBCDemo01 {
public static void main(String[] args) {
Connection conn=null;
Statement state=null;
ResultSet result=null;
try {
//1.注册驱动类
Class.forName("com.mysql.jdbc.Driver");
//2.获得数据库的连接:url:用于标识数据库的位置,程序员通过url地址告诉JDBC程序连接哪个数据库
//如果数据库出现乱码,可以指定参数: ?characterEncoding=utf8,表示让数据库以 UTF-8 编码来处理数据。
//jdbc:mysql://localhost:3306/数据库?characterEncoding=utf8或者
?useUnicode=true&characterEncoding=utf8
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/user?characterEncoding=utf8", "root", "root");
//3.定义SQL
String sql="select name from student";
//4.通过连接对象conn,创建Statement对象准备发送sql语句
state = conn.createStatement();
//5.发送sql,根据sql语句的不同,执行不同的方法,接收返回结果集对象(封装查询结果)
result = state.executeQuery(sql);
//6.迭代遍历结果集
while (result.next()){//result.next()游标向下移动一行,没有返回false
System.out.println(result.getString("name"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (SQLException throwables) {
throwables.printStackTrace();
}finally {
//8.释放资源,后开的先关
try {
result.close();
state.close();
conn.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
IDEA的out文件夹作用:用来存储编译好的.class文件;
警示处理:
Fri Jun 25 11:55:54 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended.
处理方式:
"jdbc:mysql://localhost:3306/user?useSSL=false"---->加:?useSSL=false