驱动下载
Java连接MySQL需要下载驱动jar包
选择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