『Java』JDBC Connection连接MySQL数据库

『Java』JDBC Connection连接MySQL数据库,第1张

『Java』JDBC Connection连接MySQL数据库

文章目录
  • 驱动下载
  • 导入包与IDEA配置
  • Java连接数据库
  • JDBC Connection
    • 注册驱动
      • Class.forName注册实现
    • 建立连接
    • 创建Statement对象
    • 查询
    • 关闭连接
  • 连接数据库测试

驱动下载

Java连接MySQL需要下载驱动jar包

MySQL :: Download Connector/J

选择Platfrom Independent

注册下载

导入包与IDEA配置

解压得到mysql-connector-java-8.x.x.jar,放入%JAVA_HOME%/jre/lib/ext归档

IDEA选择项目结构

SDK导入jar包

为了方便数据库 *** 作,把IDEA也连上数据库,选择右边栏的数据库,MySQL模板将驱动添加进去,这里默认IDEA自带了一个,还是手动选择下载的驱动

添加连接

Java连接数据库

首先写入测试数据,之前配置过IDEA能连接数据库就很方便了

JDBC Connection

JDBC(Java Database Connectivity)是Java提供对数据库的API,其定义了一个java.sql.Driver接口负责数据库的连接。

注册驱动

连接数据库需要先注册数据库驱动,Java通过java.sql.DriverManager来管理所有数据库的驱动注册。对于刚刚下载的MySQL驱动,它的类名是com.mysql.cj.jdbc.Driver,它是MySQL8+的驱动,而在低版本MySQL5的驱动是com.mysql.jdbc.Driver,前者向下兼容后者。加载该类就完成了注册

String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
Class.forName(JDBC_DRIVER);
Class.forName注册实现

调用Class.forName()能够加载该类,这是利用反射加载一个类,追一下被加载的com.mysql.cj.jdbc.Driver

该类有一个静态代码块,被加载就会运行,用以注册驱动。

建立连接

注册完成后要建立连接,调用之前提到的java.sql.DriverManager驱动注册管理器的方法获取连接

String URL = "jdbc:mysql://127.0.0.1:3306/testtest";
String USERNAME = "xxx";
String PASSWORD = "xxx";
Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);

需要声明MySQL的URL,以及用户信息,URL的规则如下:

jdbc:mysql://{host::localhost}?[:{port::3306}][/{database}?][?<&,user={user},password={password},{:identifier}={:param}>]

使用的是jdbc协议,一般还可以添加属性,如:启用unicode字符集?useUnicode=true等

创建Statement对象

建立连接后要声明执行语句,调用Connect的createStatement或是预处理prepareStatement方法获取

String sql = "select id,passwd from testtest";
// Statement state = conn.createStatement(sql);
PreparedStatement pre = conn.prepareStatement(sql);
查询

查询有三种

Statement.execute(); // 任意
Statement.executeQuery(); // 查询
Statement.executeUpdate(); // 增删改

查询结果以ResultSet结果集返回

ResultSet results = pre.executeQuery();

结果集支持迭代器的next方法,依次获取字段即可

while (results.next()){
	System.out.println(results.getInt("id"));
	System.out.println(results.getString("passwd"));
}
关闭连接

用完要记得关闭

results.close();
pre.close();
conn.close();
连接数据库测试
package DBMS;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class GetConnection {
	// 主协议jdbc 子协议mysql 数据库testtest
    static final String URL = "jdbc:mysql://127.0.0.1:3306/testtest";
    static final String USERNAME = "xxx";
    static final String PASSWORD = "xxx";
    static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";

    public static void main(String[] args) throws Exception {
        Class.forName(JDBC_DRIVER);
        Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
        String sql = "select id,passwd from testtest";
        PreparedStatement pre = conn.prepareStatement(sql);
        ResultSet results = pre.executeQuery();
        while (results.next()){
            System.out.println(results.getInt("id"));
            System.out.println(results.getString("passwd"));
        }
        results.close();
        pre.close();
        conn.close();
    }
}

欢迎在评论区留言,欢迎关注我的CSDN @Ho1aAs

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5597211.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存