版权声明:. https://blog.csdn.net/WildestDeram/article/details/89528777
1.什么是JDBC
JDBC的全称为:Java DataBase Connectivity(Java数据库连接),是一种执行Sql语句的JavaAPI,可以为多种关系型数据库提供统一的访问。JDBC是由SUN公司提供的一套标准,所以我们需要掌握JDBC的接口规则。
2.搭建开发环境
1.编写程序,在程序中加载数据库驱动
2.建立连接
3.创建用于向数据库发送的SQL的Statement对象
4.从代表结果集的ResultSet中取出数据
5.断开于数据库的连接,并释放相关资源
3.建立数据库和表
CREATE DATABASE jdbctest;
USE jdbctest
CREATE TABLE user(
uid INT UNSIGNED NOT NULL AUTO_INCREMENT KEY,
username VARCHAR(20),
password VARCHAR(20),
name VARCHAR(50)
);
INSERT user(uid,username,password,name) VALUES(null,'aaa','111','张三');
INSERT user(uid,username,password,name) VALUES(null,'bbb','222','李四');
INSERT user(uid,username,password,name) VALUES(null,'ccc','333','王五');
4.创建Java项目
1.导入驱动数据库的文件包
MySql8.0后需要在url后面加上一段代码才不会报错
"?useSSL=false&serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf-8"
package com.dream.demo1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.junit.Test;
import com.mysql.jdbc.Driver;
public class JDBCdemo {
/**
* 点击@Test然后导入JUnit相关的包
* 此时demo1方法就能像主方法一样使用了
*/
@Test
public void demo1() {
try {
// 1.加载驱动 new Driver9()对应的包Line 8
DriverManager.registerDriver(new Driver());
// 2.获得连接 "jdbc:mysql://主机名:端口号/数据库"
// 该方法返回一个Connection类型对象,该对象是和数据库连接的对象
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbctest"
+"?useSSL=false&serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf-8",
"root","1916");
// 3.创建执行SQL语句的对象,并执行SQL
// 3-1 编写sql语句,查询user表的数据
String sql = "SELECT * FROM user";
// 3-2 通过Connection对象来执行sql语句,创建Statement对象,该对象用来执行sql语句
Statement stmt = conn.createStatement();
// 3-3 执行sql 返回一个ResultSet对象
ResultSet resultSet = stmt.executeQuery(sql);
// 3-4 遍历
while(resultSet.next()) {
int uid = resultSet.getInt("uid");
String username = resultSet.getString("username");
String password = resultSet.getString("password");
String name = resultSet.getString("name");
// 打印对象
System.out.println(uid+" "+username+" "+password+" "+name);
}
// 4.释放资源
conn.close();
stmt.close();
resultSet.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}