Java的JDBC编程

Java 的 JDBC(Java Database Connectivity) 是一个用于连接和操作数据库的 API,JDBC屏蔽了不同数据库原生API之间的差异,使用同一套API接口来规范所有数据库的编程操作;

JDBC编程的基本步骤:

1.先能够安装 对应数据库的 驱动包。

MySQL第三方软件提供的驱动包(数据库厂商提供的具体实现)

中央仓库https://mvnrepository.com/

2.将jar包导入到项目中

1)在项目中创建目录,把.jar拷贝进来

2)右键这个lib目录(目录名字可以随便写)

然后点击ok即可,此时idea就可以解析出jar包里面的包含的内容

3.编写数据库代码

java 复制代码
// 1.创建数据源,描述了数据库服务器在哪
DataSource dataSource = new MysqlDataSource();

// 设置数据库所在的位置,当前是固定的写法
((MysqlDataSource)dataSource).setUrl("jdbc:jdbc:mysql://127.0.0.1:3306/test1?characterEncoding=utf8&useSSL=false");

	// url:唯一资源地址符,描述了互联网上的唯一的一个资源的位置
	// jdbc:mysql 这个url是给jdbc中的mysql来使用的
	// 127.0.0.1 数据库服务器所在的IP地址(本机地址)
	// 3306 使用IP地址是确定了主机,一个主机上跑着很多个程序,使用端口号来区分不同的程序
	// test1  访问的数据库名
	// characterEncoding=utf8  描述了请求的字符串编码方式,一般设成utf8
	// useSSL  关闭加密功能

//  设置用户名 和密码
((MysqlDataSource)dataSource).setUser("root");
((MysqlDataSource)dataSource).setPassword("");


// 2.和数据库建立连接(写jdbc代码本质上是实现一个MySQL客户端,要通过网络和服务器进行通信)
Connection connection = dataSource.getConnection();

// 3.构造一个SQL语句,来完成插入操作
String sql = "insert into student values(?,?)";
// jdbc中还需要搭配一个特定的对象,来描述这里的sql的情况
PreparedStatement statement = connection.prepareStatement(sql);

// 4.执行SQL语句  针对增,删,改,查使用executeUpdate来执行
//               针对 查,使用executeQuery来执行
// 执行就是给服务器发送网络请求了
// 返回结果的含义是,这个操作,影响到几行

int ret = statement.executeUpdate();
System.out.println("ret = " + ret);

// 5.断开和数据库的连接,并且释放必要的资源。
// 连接,本质上就是找个地方,记录一下"我和谁建立连接了"
// 当连接不再使用的时候,就需要释放连接,把之前的记录给"察除掉"
statement.close();
connection.close();
相关推荐
Joy T1 小时前
Spring AI 2.0 Agent 进阶:Memory、State 与 Context Engineering 常见技术全景
java·人工智能·后端·spring·agent入门·agent state
估值探索者1 小时前
【Python量化系统工程化 #08】关了 SSH 就停?systemd 让脚本开机自启 + 异常自动拉起
java·c++·人工智能·分类·数据挖掘
RAN11426760081 小时前
1.3第一个程序的介绍
开发语言·qt
天若有情6731 小时前
C++花式魔改!手写头文件复刻Java语法,彻底打破编码思维定式
java·c++·语言做语言·jac++
blue_ice .2 小时前
Verilog DDS 数字信号发生器:DAC 输出模拟波形与 ADC 回采观测
开发语言·单片机·嵌入式硬件·fpga开发
远翔调光芯片^138287988722 小时前
ECP5702能芯科技PD取电芯片在市场上的优势有哪些?
开发语言·人工智能·单片机·嵌入式硬件·智能家居
西峰u2 小时前
Java单例模式|从基础到多线程安全
java·java单例模式
ClinicTech3 小时前
实验室洗瓶机的清洗系统架构与自动化控制解析
java·python
linmengmeng_13143 小时前
【总结】MyBatis-Plus批量插入与清表的正确姿势
java·spring boot·mysql·mybatis
木井巳3 小时前
【记忆化搜索】不同路径
java·算法·leetcode·深度优先·剪枝·推荐算法