【MySQL】Java实现JDBC编程

文章目录

    • [1. JDBC](#1. JDBC)
    • [2. 添加驱动包](#2. 添加驱动包)
    • [3. 编程](#3. 编程)
      • [3.1 创建数据源](#3.1 创建数据源)
      • [3.2 与数据库建立连接](#3.2 与数据库建立连接)
      • [3.3 构造SQL语句](#3.3 构造SQL语句)
      • [3.4 执行SQL语句](#3.4 执行SQL语句)
      • [3.5 释放资源,关闭连接](#3.5 释放资源,关闭连接)

1. JDBC

数据库编程必须掌握至少一门编程语言,一种数据库,会导入数据库驱动包。

操作和连接不同数据库都需要一种连接的软件组件,即数据库驱动包。数据库驱动包中包含了与特定数据库相对应的API,使得应用程序可以与数据库进行通信。而不同的数据库提供的API都不相同,从而造成很麻烦,这个时候JDBC就应运而生了,让Java连接数据库变得简单。
JDBC ,即Java Database Connectivity,Java数据库连接。它是一个标准的Java API,用于将Java程序与数据库连接。JDBC提供了一组用于编写可以访问关系型数据库(如MySQL、Oracle和Microsoft SQL Server)的应用程序的接口和类。

我这里使用的Java连接操作MySQL。

2. 添加驱动包

我们可以在中央仓库中找到我们所需驱动包API。(当然也可以在Oracle,GitHub中下载)
Maven存储库

  1. 在搜索栏直接搜索MySQL
  2. 找到我们需要的MySQL,Java
  3. 点开,选择我们需要的版本(我这里选择5.1.49)
  4. 下载完成,一个 .jar压缩文件
  5. 将. jar文件导入项目中,创建一个目录,直接复制就行
  6. 右键这个包,点击Add as Library...,使idea知道导入了这个

    点击ok,就完成了添加驱动包。

3. 编程

编程看着麻烦,其实就是固定模板,多使用几次便会掌握了。

3.1 创建数据源

java 复制代码
 		//创建"数据源"
 		//向上转型,DataSource是JDBC提供的interface,MysqlDataSource是MySQL驱动包提供的interface
        DataSource dataSource = new MysqlDataSource();
        //setUrl,setUser,setPassword三个方法都是子类的方法,我们可以强转一下,也可以直接使用,但当代码十分复杂的时候,有可能造成代码耦合。
        //方法里面的东西格式是固定的,IP是你电脑的IP,xiaoc是你要关联的数据库名字,替换成你要操作的数据库名字。
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/xiaoc?characterEncoding=utf8&useSSI=false");
        //这一步是提供用户名,一般都是root
        ((MysqlDataSource) dataSource).setUser("root");
        //提供你的密码
        ((MysqlDataSource) dataSource).setPassword("131452");

3.2 与数据库建立连接

java 复制代码
        //和数据库建立连接
        //一个Java程序,用于来连接数据库服务器
        Connection connection = dataSource.getConnection(


注意:
选择Connection时,一定要选择java.sql,上面那个时不可以的

3.3 构造SQL语句

java 复制代码
		// 构造 SQL 语句
		//本身SQL语句时String类型,但JDBC提供了Statement对象,让我们转换一下再发送。Statement直接发送语句不做任何检查,我们也可以使用PreparedStatement在客服端进行初步的检查,降低服务器的负担。
        String sql = "insert into student values(111,小辰)";
        PreparedStatement statement = connection.prepareStatement(sql);

3.4 执行SQL语句

java 复制代码
        // 执行 SQL 语句---返回值影响几行
        int n = statement.executeUpdate();
        System.out.println("n = " + n);

executeQuery,executeUpdate都是Statement中的方法,前者用于查询,后者用于增加,删除

,修改,返回类型是一个整型。

3.5 释放资源,关闭连接

java 复制代码
        //释放资源,关闭连接
        //Java虽然有垃圾回收机制,释放内存,但计算机资源不止内存,所以我们还需要手动释放,这个时候我们需注意释放顺序,倒着来,先创建的后关闭。
        statement.close();
        connection.close();

这是插入的程序,其他的操作和这区别不大,大家可以自己探索。

相关推荐
pyengine2 分钟前
基于pandoc的MarkDown格式与word相互转换小工具开发(pyqt5)
开发语言·python·qt·word
YuSun_WK8 分钟前
配置MambaIRv2: Attentive State Space Restoration的环境
开发语言·python
Nick_zcy9 分钟前
开发基于python的商品推荐系统,前端框架和后端框架的选择比较
开发语言·python·前端框架·flask·fastapi
淬渊阁13 分钟前
Go package
java·开发语言
CoderCodingNo23 分钟前
【GESP】C++二级真题 luogu-B4259 [GESP202503 二级] 等差矩阵
java·c++·矩阵
佳腾_37 分钟前
【Web应用服务器_Tomcat】二、Tomcat 核心配置与集群搭建
java·前端·中间件·tomcat·web应用服务器
聂 可 以37 分钟前
IntelliJ IDEA修改实体类成员变量的名称(引入了该实体类的全部文件也会自动更新变量的名称)
java·ide·intellij-idea
冰茶_39 分钟前
C#中常见的设计模式
java·开发语言·microsoft·设计模式·微软·c#·命令模式
Echo``1 小时前
2:QT联合HALCON编程—图像显示放大缩小
开发语言·c++·图像处理·qt·算法
.似水1 小时前
2025.4.22_C_可变参数列表
java·c语言·算法