大家好,今天给大家分享jdbc
首先我们要知道什么是jdbc
JDBC(Java DataBase Connectivity) :Java数据库连接技术:具体讲就是通过Java连接广泛的数据库,并对表中数据执行增、删、改、查等操作的技术
看它的架构图
或者看这个图
使用大白话去讲就是:
就是任何一个企业级项目,肯定是要连接数据库
的
、而java程序在原始的状态下
,是无法做到这一点的
所以在java程序和数据库之间就有了jdbc
这样的技术来做它们之间的媒介
进而,我们可以说,jdbc这个东西就是让我们的java程序可以访问数据库,进行增删改查的操作的
jdbc 就是让我们的java程序可以访问到数据库里的数据进而实现操作
我们都知道,数据库有很多种,每一种数据库的相关api 都不一样,所以sun 公司为了避免因数据库的不同而导致的api 学习的重复性,所以给jdbc 定义了它的接口规范,这样的话,各个数据库就可以通过此接口写实现类(也就是它的驱动),让我们的java程序可以访问数据库,进行增删改查的操作的`的结果
接下来还有概念性的东西
就是, jdbc API (就是应用程序编程接口)
jdbc API 这个词不是特别好懂,我们作为Java程序员,可以直接把它理解成java语言当中,有关于jdbc的工具包(是定义好的)
,也可以说为Java程序提供了访问一个或多个数据源的方法集合
在Java当中,jdbc api 主要是位于java.sql 包里
以下的这些东西就是它的主要内容:
DriverManager : 负责加载不同的驱动程序,并根据不同的请求,向调用者返回相应的数据连接(connection)
Driver : 驱动程序,它会将自身加载到DriverManager,并且处理相应的请求并返回相应的数据库连接(connecttion)
connection : 数据库连接,负责与数据库的通信,sql的执行以及事务处理都是在某一个固定的connection环境当中进行的
Statement : 它是用来执行sql 查询和更新(对于静态sql语句和单次的执行)
PreparedStatement : 它是用来执行包括动态参数的查询和更新
callableStatement : 调用数据库里的存储过程
SQLException : 它是用来表示在数据库连接,关闭,以及执行的过程当中发生的意外情况(指的就是错误)
简单了解了这个东西之后,我们就要使用它其中的方法
就是 jdbc 的基本使用
首先就是建立连接
这个过程有5个步骤:
- 加载数据库(相对于一个注册的操作,就是要告诉jdbc 要连接哪个数据库)
- 建立连接(这是为了以后可以操作数据库)
- 执行sql 语句(就是写增删改查的sql语句)
- 处理结果集
- 关闭数据库(关闭资源信息,释放资源)
在下面,我们写我们的第一个jdbc程序
创建一个数据库 (就是用来测试的)
-- 这是我们用来测试jdbc的sql
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,'zhangsan','123456','zsws@sina.com','1980-11-04'),
(2,'lisi','123456','lisis@sina.com','1981-12-04'),
(3,'wangwu','123456','wangwu@sina.com','1979-12-04')
这个sql 想怎么写怎么写(这里只是做了个示范)
截图:
新建一个普通的Java项目
就像这样
新建一个目录
命名为lib
将相关的jar 包放里面(因为项目需要)
对这个目录进行配置,不然的话,没有办法使用
这个点击ok 就可以了
jar包可以展开,可以正常使用
写这样的一个类, 这就是Java 中 jdbc 的操作
(这些基本上都是固定的写法,如果记不住,直接搜百度找一个现成的就可以了)
import java.sql.*;
public class FirstDemo01 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1、加载驱动
Class.forName("com.mysql.jdbc.Driver");//固定写法,加载驱动
//2、用户信息和url
//useUnicode=true&characterEncoding=utf8&useSSL=true //字符转码
String url = "jdbc:mysql://localhost:3306/jdbcStudy?useUnicode=true&characterEncoding=utf8&useSSL=true";
String useName = "root";
String password = "123456";// 这是你数据库密码
//3、连接成功,数据库对象 Connection代表数据库
Connection connection = DriverManager.getConnection(url, useName, password);
//4、执行SQL的对象 Statement 执行sql的对象
Statement statement = connection.createStatement();
//5、执行SQL的对象 去 执行 sql,可能存在结果,查看返回结果
String sql = "select * from users";
ResultSet resultSet = statement.executeQuery(sql);
//返回的结果集,结果集中封装了我们全部的查询出来的结果
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"));
}
//6、释放连接
resultSet.close();
statement.close();
connection.close();
}
}
这是它执行结果:
就是执行了一个查询操作
有关于jdbc 的简介就到这里了,谢谢大家