JDBC简介
JDBC概述
数据库持久化介绍
jdbc是java做数据库持久化的规范,持久化(persistence):把数据保存到可掉电式存储设备(断电之后,数据还在,比如硬盘,U盘)中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以"固化"
常见的持久化
文本文件(通过记事本等输入文本保存,程序中很少使用),
XML(把数据存在XML,但是XML查找,删除,修改 也是比较麻烦),
数据库(把数据存在数据库,可以直接通过SQL取到,比较容易)
结论:持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中,只是比较麻烦。
要把数据保存到数据库\-\--通过JAVA代码去操作数据库(通过JDBC访问数据库)
为什么要使用JDBC
因为把要数据持久化,持久化数据的最好方式就是把数据保存到数据库,而Java要数据保存到数据到数据库,就需要使用JDBC
JDBC接口说明
JDBC详解
是一种用于执行SQL语句(DML,DDL,DQL)的Java API,可以为多种关系数据(oracle,mysql,SQL server)提供统一访问,**它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口**,使数据库开发人员能够编写数据库应用程序
如何使用JDBC:jdbc是java定义的进行数据库持久化的规范,java程序员直接调用java集成在rt.jar包中的接口,每个数据库厂商提供驱动jar包,我们如果要想操作对应的数据库。就导入对应的驱动,然后直接调用接口就OK
JDBC简单快速入门
IDEA连接数据库
点击右侧的Database,在弹出页面输入对应信息
点击Test Connection,进行相关文件的下载与安装
导入JDBC jar包
注意:一定要导入自身计算机所安装的MySQL数据库对应大版本的mysql jar包,不然会导致一系列问题。添加完成后,将jar包添加为库,并重构项目即可。
使用JDBC操作数据库
加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
创立连接
String url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC";
String username="root";
String password="123456";
connection = DriverManager.getConnection(url,username,password);
获取要执行的SQL语句
statement=connection.createStatement();
String sql="DELETE from product WHERE id=21";
执行SQL语句
statement.execute(sql);
释放资源
statement.close();
connection.close();
运行结果:id为21的数据被删除
完整代码:
import java.sql.*;
public class JDBC1 {
public static void main(String[] args) throws Exception {
Statement statement=null;
Connection connection=null;
try {
//贾琏欲执事
//1.加载JDBC连接
Class.forName("com.mysql.cj.jdbc.Driver");
//2.连接数据库
String url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC";
String username="root";
String password="123456";
connection = DriverManager.getConnection(url,username,password);
//3.获取SQL语句
statement=connection.createStatement();
String sql="DELETE from product WHERE id=21";
//4.执行SQL
statement.execute(sql);
}catch (Exception e){
e.printStackTrace();
}finally {
//5.释放资源
try {
statement.close();
}catch (SQLException e){
e.printStackTrace();
}
try {
connection.close();
}catch (SQLException e){
e.printStackTrace();
}
}
}
}
写在最后
JDBC是JAVA操作数据的规范,现在基本都是以Mybatis为主,但Mybatis的底层仍然为JDBC。笔者之前面试的时候,被问到相关Mybatis的题目,都是偏底层JDBC为主。会了JDBC,Mybatis自然而然便会十分顺手。笔者小,中,大厂均有面试经历,每日分享JAVA全栈知识,希望能与大家共同进步。