JDBC学习笔记
一、在Java中,所有的数据库操作的类和接口都保存在了java.sql包中,在这个包里面的核心组成如下:
- 一个类:DriverManager类;
- 四个接口:Connection、Statement、ResultSet、PreparedStatement。
二、jdbc连接数据库的固定操作流程:
1.注册驱动(向容器加载)
Class.forName(driver);
2.连接数据库(通过DriverManager完成,Connection表示连接)
//需要提前定义好路径,账号密码等参数
connection = DriverManager.getConnection(url,user,password);
3.进行数据的CRUD(通过Statement、ResultSet、PreparedStatement完成)
Statement statement = connection.createStatement();
String sql;
//sql语句需要根据表中的字段名进行操作
sql = "select id,name from name";
ResultSet resultSet = statement.executeQuery(sql);
4.处理查询结果集
//处理结果集,就是对获取的元素进行处理,我这里是直接打印出来的
System.out.println("id"+"\t"+"\t"+"name");
while (resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.print(id+"\t"+"\t");
System.out.println(name);
}
5.关闭数据库连接
connection.close();
三、项目代码
package com.classtest.Jdbc;
//导包
import java.sql.*;
/**
* @author LuoSheng
* @创建时间 2020/10/20
* @描述 数据库连接,及简单查询操作
*/
public class jdbcTest {
public static void main(String[] args) {
Connection connection;
/**
* 8.0以下版本连接方式:
* static final String DRIVER = "com.mysql.jdbc.Driver";
* static final String URL = "jdbc:mysql://localhost:3306/test";
*/
//jdbc驱动(8.0以上版本)
String driver="com.mysql.cj.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/demo?&useSSL=false&serverTimezone=UTC";
String user="root";
String password= "123456";
try {
// 1.注册驱动,此时不需要实例化,由容器负责管理
Class.forName(driver);
// 2.获取连接
connection = DriverManager.getConnection(url,user,password);
if (!connection.isClosed()) {
System.out.println("数据库连接成功");
}
// 3.连接数据库
Statement statement = connection.createStatement();
// 4.执行sql操作语句(查询操作)
String sql;
sql = "select id,name from name";
ResultSet resultSet = statement.executeQuery(sql);
// 5.处理查询结果集
System.out.println("id"+"\t"+"\t"+"name");
while (resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.print(id+"\t"+"\t");
System.out.println(name);
}
// 6.释放资源
connection.close();
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动加载失败");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("数据库连接失败");
e.printStackTrace();
}
}
}