JDBC:Java Data Base Connectivity(Java数据库连接),JDBC是Java与数据库之间连接的桥梁。JDBC 主要做四件事:①、加载对应数据库驱动 (Load Driver) ②、与数据库建立连接(connection) ③、发送 操作数据库的语句(createStatement) ④、执行并处理返回结果(executeQuery)。
每一步骤对应的简单代码:
/*1 加载驱动JDBC_DRIVER="com.mysql.jdbc.Driver"*/
Class.forName(JDBC_DRIVER);
/*2 建立连接DB_URL数据库的url, USER 数据库的用户名, PASS 数据库密码*/
Connection conn = (Connection) DriverManager.getConnection(DB_URL, USER, PASS);
/*3 sql = "select * from student"预编译sql语句*/
PreparedStatement pstmt=conn.prepareStatement(sql);
/*4执行sql语句并返回结果*/
ResultSet rs = pstmt.executeQuery();
实例:
- 创建测试数据库
-- 创建数据库
CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 切换到jdbcStudy数据库
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,'zhangsan','123456','zs@163.com','2021-03-23'),
(2,'lisi','123456','ls@163.com','2021-03-20'),
(3,'wangwu','123456','ww@163.com','2021-03-21')
- 导入数据库驱动,右键项目名称,新建lib目录
-
将jar包拷贝到lib目录下
-
右键lib,选择add as library,点击OK
- 测试代码
public class JdbcFirstDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1. 加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.用户信息和url
String url = "jdbc:mysql://localhost:3306/jdbcStudy?useUnicode=true&characterEncoding=utf8&useSSL=true";
String username = "root";
String password = "123456";
//3.连接成功
Connection connection = DriverManager.getConnection(url,username,password);
//4.执行SQL的对象
Statement statement = (Statement) connection.createStatement();
//5.通过SQL对象去执行sql语句
String sql = "select * from users";
ResultSet resultSet = statement.executeQuery(sql); //返回的结果集,结果集中封装了我们全部的查询结果
while(resultSet.next()){
int columnLabel;
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("birthday="+resultSet.getObject("birthday"));
System.out.println("====================");
}
resultSet.close();
statement.close();
connection.close();
}
}
更多内容可关注这篇博文:https://blog.csdn.net/qq_22172133/article/details/81266048?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242