一、创建一个数据库 MySQL版本为5.7.35
CREATE DATABASE jdbcstudy CHARACTER SET utf8 COLLATE utf8_general_ci;
USE jdbcstudy;
CREATE TABLE users(
id INT PRIMARY KEY,
NAME VARCHAR(40),
PASSWORD VARCHAR(40),
email VARCHAR(60),
birthday DATE
);
INSERT INTO users(id,NAME,PASSWORD,email,birthday)
VALUES(1,'zhansan',123456,'zs@sina.com','1980-12-04'),
(2,'lisi',123456,'lisi@sina.com','1981-12-04'),
(3,'wangwu',123456,'wangwu@sina.com','1979-12-04');
二、创建一个普通的项目
创建一个lib目录,将mysql-connector-java-8.0.16.jar包复制到lib目录下
导入lib目录下的jar包:
导入成功:
三、编写测试程序
1、创建一个测试类com.jdbc.Demo.java
看到包的目录结构好像不太对,这里需要调整以下设置,点击齿轮,将Compact Middle Packages默认的勾取消
这样就正常了!
2、Demo类中的代码:
package com.jdbc;
import java.sql.*;
public class Demo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1、加载驱动 connector 5.0jar包和8.0的写法不太一样,5.0为"com.mysql.jdbc.Driver"
Class.forName("com.mysql.cj.jdbc.Driver");
//2、用户信息和url "jdbc:mysql://数据库地址:端口号/数据库名?使用Unicode=true&字符集使用utf8&使用SSL&设置服务时区" 8.0需要设置时区
String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai";
String username = "root";
String password = "123456";
//3、连接成功,数据库对象,connection就是操作数据库的对象
Connection connection = DriverManager.getConnection(url,username,password);
//4、创建执行SQL对象,statement是用来执行sql语句的对象
Statement statement = connection.createStatement();
//5、执行SQL语句
String sql = "select * from users";
ResultSet resultSet = statement.executeQuery(sql); //返回的resultSet对象为一个结果集
//将结果集中数据一个一个循环输出
while (resultSet.next()){
// 对应表中字段名
System.out.println("id="+resultSet.getObject("id"));
System.out.println("name="+resultSet.getObject("name"));
System.out.println("pwd="+resultSet.getObject("password"));
System.out.println("email="+resultSet.getObject("email"));
System.out.println("birth="+resultSet.getObject("birthday"));
System.out.println("===============================================");
}
//6、释放连接资源
resultSet.close();
statement.close();
connection.close();
}
}