- 加载驱动
Class.forName("com.mysql.jdbc.Driver");
- 用户信息和URL
String url = "jdbc:mysql://localhost:3306/[数据库名]?useUnicode=true&characterEncoding=utf8&useSSL=true";
String username = "[用户名]";
String password = "[密码]";
- 连接数据库对象
Connection connection = DriverManager.getConnection(url,username,password);
- 执行SQL对象
Statement statement = connection.createStatement();
- 执行SQL
String sql = "";
ResultSet resultSet;
resultSet = statement.executeQuery(sql);
resultSet = statement.execute(sql);
resultSet = tatement.executeUpdate(sql);
resultSet.getObject();
resultSet.beforeFirst();
resultSet.afterLast();
resultSet.next();
resultSet.previous();
resultSet.absolute([行数]);
- 释放连接(必须做,非常消耗资源)
resultSet.close();
statement.close();
connection.close();
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
</dependencies>
package com.ola.test;
import java.sql.*;
public class TestJdbc {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
String url = "jdbc:mysql://localhost:3306/computer03?useUnicode=true&characterEncoding=UTF-8";
String username = "root";
String password = "niushijian";
Class.forName("com.mysql.cj.jdbc.Driver");
Connection connection = DriverManager.getConnection(url, username, password);
Statement statement = connection.createStatement();
String sql = "select * from Affiliation where Affiliated = '清华大学'";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
System.out.println("AuthorID=" + resultSet.getObject("AuthorID"));
System.out.println("Affiliated=" + resultSet.getObject("Affiliated"));
System.out.println("----------------------------------------");
}
resultSet.close();
statement.close();
connection.close();
}
}
主要参数说明:
user 数据库用户名(用于连接数据库)
password 用户密码(用于连接数据库)
useUnicode 是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为true
characterEncoding 当useUnicode设置为true时,指定字符编码。比如可设置为gb2312或gbk
autoReconnect 当数据库连接异常中断时,是否自动重新连接?
autoReconnectForPools 是否使用针对数据库连接池的重连策略
failOverReadOnly 自动重连成功后,连接是否设置为只读?
maxReconnects autoReconnect设置为true时,重试连接的次数
initialTimeout autoReconnect设置为true时,两次重连之间的时间间隔,单位:秒
connectTimeout 和数据库服务器建立socket连接时的超时,单位:毫秒。 0表示永不超时
socketTimeout socket操作(读写)超时,单位:毫秒。 0表示永不超时