【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();

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

相关推荐
小短腿的代码世界几秒前
Qt Bluetooth源码深度解析:从HCI协议到跨平台API的完整架构
开发语言·qt·架构
掉鱼的猫1 分钟前
Agent Harness 实战指南:构建生产级 AI Agent 的"马具"框架
java·llm·aigc
带刺的坐椅19 分钟前
Agent Harness 实战指南:构建生产级 AI Agent 的"马具"框架
java·ai·llm·agent·solon-ai
c2385622 分钟前
互斥锁高频面试题全解:从基础概念到底层实现,一文通关
java·c++·面试·职场和发展
北冥you鱼31 分钟前
Go 语言读取链上数据:从基础到实战
开发语言·后端·golang
nianniannnn32 分钟前
c++复习自存--继承
开发语言·c++
error:(1 小时前
【系统与实战双精通】VS Code 调试 ROS2 Python 节点与 Launch 系统指南
android·java·python
Tian_Hang2 小时前
Eclipse Ditto 的权限策略
java·服务器·前端·网络·ide·ubuntu·eclipse
叩码以求索2 小时前
经典算法实例分析:写字符串需要的行数
开发语言·javascript·ecmascript
我是唐青枫2 小时前
Kotlin 运算符重载详解:为什么 a += b 有时改对象,有时换对象?
开发语言·kotlin