声明
请读者欲从本文中一键连接MySQL的话,请注意自己MySQL的版本号(此文是版本 8)。请注意以下内容:⚠️
mysql-connector-java-8.0.21.jar 包
的引入问题;- MySQL版本是8的话,驱动是:
com.mysql.cj.jdbc.Driver
; - MySQL版本是5的话,驱动是:
com.mysql.jdbc.Driver
; URL
的准确性问题;- MySQL
用户名和密码
是否输入正确。
JDBC的要素
要素一:
- Driver 驱动,是Java提供的一个接口,可以去链接数据库。
- 数据库厂商提供的类:(全类名),需要动态加载,获取运行时对象。
- 需要用到反射:
Class.forName("");
MySQL :
- 版本8之前:
com.mysql.jdbc.Driver
- 版本8之后:
com.mysql.cj.jdbc.Driver
jar包的引入: 分享链接:mysql-connector-java-8.0.21.jar
-
把jar包拷贝到Java工程的一个目录中,习惯上新建一个叫lib文件夹。
-
把jar包拷贝到lib里,需要把lib添加到项目的依赖库中。
-
在lib上右键,点击add as library,添加到项目库中。
步骤: -
加载驱动 Class.forName();
-
注册驱动 DriverManager.registerDriver() 注册驱动。
要素二:
URL:协议,数据库名,IP地址,端口号,参数
MySQL 8:
jdbc:mysql://127.0.0.1:3306/数据库库名?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
要素三:
用户名,密码
"root", "12345678"
1. 最简单的链接方式和使用:
package JDBCLearning;
import java.sql.*;
/**
* @date 2023/2/1
*/
public class JdbcDemo01 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 1. 导入mysql驱动jar包
// 2. 注册mysql驱动jdbc,当前我们使用mysql数据库
Class.forName("com.mysql.cj.jdbc.Driver");
// 3. 创建数据库链接 jdbc协议
Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/sql_invoicing?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC", "root", "12345678");
// 4. 获取到执行者对象
Statement statement = connection.createStatement();
// 5. 执行开发者自己编写的sql语句
ResultSet resultSet = statement.executeQuery("select * from clients");
// 6. 执行sql语句的结果处理操作
while (resultSet.next()){ // 判断如果下一行数据存在,则取出该行数据;如果没有则返回false。
int clientId = resultSet.getInt("client_id");
String name = resultSet.getString("name");
String address = resultSet.getString("address");
String city = resultSet.getString("city");
String state = resultSet.getString("state");
String phone = resultSet.getString("phone");
System.out.println("client_id: " + clientId);
System.out.println("name: " + name);
System.out.println("address: " + address);
System.out.println("city: " + city);
System.out.println("state: " + state);
System.out.println("phone: " + phone);
System.out.println("==========================");
}
// 7. 关闭这些资源
connection.close();
statement.close();
}
}
2. 最推荐的链接方式:
- 在src的目录里创建
.properties文件
- 在
.properties文件
里输入:
mysql.url=jdbc:mysql://127.0.0.1:3306/sql_invoicing?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
mysql.driverName=com.mysql.cj.jdbc.Driver
mysql.username=root
mysql.password=12345678
- 配合
.properties文件
链接数据库:
package JDBCLearning.NewJDBCconnection;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
/**
* @date 2023/2/1
*/
public class jdbcConnection {
public void test4() throws IOException, SQLException {
Properties properties = new Properties();
properties.load(jdbcConnection.class.getClassLoader().getResourceAsStream("jdbc.properties"));
String url = properties.getProperty("mysql.url");
String username = properties.getProperty("mysql.username");
String password = properties.getProperty("mysql.password");
Connection connection = DriverManager.getConnection(url, username, password);
System.out.println(connection);
/*
使用配置文件的好处:
1、实现了代码和配置的分离,如果需要修改配置信息,直接在配置文件中修改,不需要动代码。
2、如果修改了配置信息,不需要重新编译。
*/
}
}
结语 🎆
赠人玫瑰手留余香,一个人做的的恶和善定符合能量守恒,不必介怀别人说了什么,怎么评价你。你就是你,唯一的你、独特的你,无可替代。