打开数据库
先创建一个数据库
CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci #创建一个数据库
USE jdbcStudy #使用该数据库
CREATE TABLE users( #创建一个表,表名为users
id INT(4) PRIMARY KEY, #创建一个id字段,4个字节的int类型,并且设置为主键索引
`name` VARCHAR(40), #创建一个name字段,40字节varChar类型
`password` VARCHAR(40), #创建一个password字段,40字节varChar类型
email VARCHAR(40),#创建一个email字段,40字节varChar类型
birthday DATE #创建一个birthday字段,date类型(时间类型)
);
TRUNCATE users #断截表清空表,这里因为我自己添加了表的数据,所以我清空以下(这句可以不要)
INSERT INTO users(id,`name`,`password`,email,birthday) #插入语句,给userss插入数据,括号里是数据插入的样式
VALUES(1,'zhangsan','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');#插入的第三个值
打开IDEA
1、创建过一个项目
2、在项目创建一个lib文件,粘贴自己的mysql-connector-javab包
3、如图,当该mysql-connector-java
当显示为下图则mysql-connector-java包添加成功
JAVA程序
package JDBC;
import java.sql.*;
// 测试 JDBC 程序
public class JDBCTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1、加载驱动
Class.forName("com.mysql.jdbc.Driver");//固定写法,加载驱动,如果异常就抛出
//2、填写用户信息和url (sql 的)
String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true";
// 固定字段 / 数据库名 ?支持中文编码 &告诉数据库此次连接传输UTF8数据&使用安全连接
String username = "root";// sql 的用户名
String password = "123456"; // xql 的密码
//3、连接 sql ,连接成功就会返回一个数据库对象 Connection 代表数据库
Connection connection = DriverManager.getConnection(url, username, password);//连接 sql 将填写的信息填入
//4、执行 sql 的对象 Statement 声明执行 sql 对象
Statement statement = connection.createStatement();
//5、执行 xql 的对象去
String mySQL = "SELECT * FROM users"; //注意这里的SELECT * FROM users 语句一定要能在 sql 里面能执行
ResultSet resultSet = statement.executeQuery(mySQL);// 执行查询语句 mySQL 这个,返回了一个结果resultSet
//返回的结果集,这一句结果集装了查询的所有结果
while (resultSet.next()){ // 检测是否有数据,有数据就执行下一个循环
System.out.println("ID=" + resultSet.getObject("id")); /* 将表的结果输出,如果不知道类型就输出 Object 类型
并且 id 必须和 sql 的字段名字相同,由于 IDEA 分
大小写所以一定要区分*/
System.out.println("NAME=" + resultSet.getObject("name")); //输出 name
System.out.println("PASSWORD=" + resultSet.getObject("password")); // 输出 password
System.out.println("EMAIL=" + resultSet.getObject("email")); // 输出 email
System.out.println("BIRTHDAY=" + resultSet.getObject("birthday")); // 输出 birthday
System.out.println("--------------------------------------------------");
//从输出的结果可以看出,输出是以每行的结果输出,所有循环是以每行的样式循环
}
//6、释放连接
resultSet.close();//关闭查询的结果集
statement.close();//关闭执行的 sql 对象
connection.close();//关闭数据库的连接
//释放的目的就是关闭的作用,防止占用资源,浪费资源。
}
}
结果
学习位置https://www.bilibili.com/video/BV1NJ411J79W?p=38
解释位置https://www.bilibili.com/video/BV1NJ411J79W?p=39