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();
相关推荐
吴声子夜歌几秒前
Guava——反射
java·开发语言·guava
lingran__6 分钟前
Git 完全指南(三):远程仓库与标签管理
开发语言·git·gitee·ssh·团队协作·远程仓库·分布式版本控制
for_ever_love__8 分钟前
python爬虫: 数据解析
开发语言·爬虫·python·xpath
学习星球16 分钟前
AI 一句话生成 3D 游戏世界:腾讯 HY-World 2.0 开源深度解析与本地实战
开发语言·人工智能·游戏·3d·ai·课程设计·ai编程
名字还没想好☜18 分钟前
Go 用 -race 抓数据竞争:一个偶发崩溃的排查、原理与修复
开发语言·后端·golang·go
小灰灰搞电子30 分钟前
Rust std::vec::Vec<T>动态数组:所有相关 API 全面介绍
开发语言·rust
X1A0RAN32 分钟前
Jenkins 流水线跨阶段的数据共享:让变量“动态更新“成为可能
java·servlet·jenkins
学习星球32 分钟前
CodeWhale 深度剖析:从 DeepSeek-TUI 到 40.9K Star 的 Rust 终端编程 Agent
开发语言·后端·rust
Rain的Java大神之路38 分钟前
高并发下的热点账户余额扣减:Redis+Lua脚本实现无锁记账
java·spring boot·redis·后端·spring cloud·缓存·lua
随遇而安zx40 分钟前
【地基篇】---JVM 类加载 源码解析(基于 Java 8)
java·jvm·python