JDBC连接MySQL

JDBC(Java Database Connectivity)是java与数据库之间的桥梁。
常见的数据库:ORACLE、SQL Server(微软)、MySQL、DB2(IBM)
JDBC操作数据库的基本步骤:
1、加载JDBC驱动程序(DriverManager类)
2、连接数据库(Connection类)
3、发送SQL语句(Statement接口、PreparedStatement接口、CallableStatement接口)
4、处理结果集(ResultSet接口)
5、关闭数据库(close(),从下到上依次关闭)

JDBC操作MySQL数据库:

1、加载驱动(需先导入驱动jar包
MySQL5版本:Class.forName("com.mysql.jdbc.Driver");
MySQL6以上:Class.forName("com.mysql.cj.jdbc.Driver");
2、连接数据库
MySQL5版本:String url="jdbc:mysql://127.0.0.1:3306/test"; 数据库地址:mysql数据库,IP,端口,test库(以test为例)
MySQL6以上:需要指定时区serverTimezone,UTC美国,中国用Asia/Shanghai或Asia/Hongkong。不使用SSL--Secure Sockets Layer(安全套接层)
String url="jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&characterEncoding=utf8&useSSL=false";
或者更详细
String url="jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&characterEncoding=utf8&useSSL=false&verifyServerCertificate=false&autoReconnct=true&autoReconnectForPools=true&allowMultiQueries=true";

Connection con=DriverManager.getConnection(url,"root","123456"); 数据库地址,账号,密码

如下代码运行结果com.mysql.cj.jdbc.ConnectionImpl@763d9750,说明连接数据库test成功。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Demo {
    public static void main(String[] args) {
        try {//连接数据库test(先在MySQL中创建test数据库)
            Class.forName("com.mysql.cj.jdbc.Driver");//java连接数据库的驱动
            String url="jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&characterEncoding=utf8&useSSL=false";
            Connection con= DriverManager.getConnection(url,"root","123456");//数据库地址、账户、密码
            System.out.println(con);
            con.close();//关闭连接
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

JDBC操作其他数据库(了解):
连接Oracle数据库
驱动包是 ojdbc6.jar
驱动=oracle.jdbc.driver.OracleDriver
URL=jdbc:oracle:thin:@<IP>:<port>:<database_name>
默认端口=1521

连接SQL Server 2005以上版本数据库
驱动包是 sqljdbc4.jar
驱动=com.microsoft.sqlserver.jdbc.SQLServerDriver
URL=jdbc.sqlserver://<IP>:<port>:databaseName=<database_name>
默认端口=1433

原文地址:https://www.cnblogs.com/xixixing/p/9677741.html