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

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

相关推荐
牛奔4 小时前
Go 如何打印调试深层或嵌套的结构体
开发语言·后端·golang
geovindu4 小时前
go: Iterative Algorithms
开发语言·后端·算法·golang·迭代算法
学逆向的4 小时前
汇编——JCC指令
开发语言·汇编·网络安全
mayaairi5 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
前端工作日常5 小时前
我学习到的Java中domain和dto区别
java·后端
kite01216 小时前
Go语言Map深度解析与最佳实践
开发语言·后端·golang
码农学院6 小时前
基于Spring Boot的跨境电商多语言订单管理系统架构设计
java·大数据·spring boot
技术小结-李爽7 小时前
【工具】pom文件的<packaging>
java·maven
l156469487 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
charlie1145141917 小时前
现代C++工程实践 WeakPtr 实战(三):WeakPtrFactory 与「最后成员」惯用法
开发语言·c++·开源项目·现代c++