【MySQL】JDBC编程

作者主页:paper jie_博客****

本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。

本文录入于《MySQL》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将MySQL基础知识一网打尽,希望可以帮到读者们哦。

其他专栏:《算法详解》《C语言》《javaSE》《数据结构》等

内容分享:本期将会分享Java的JDBC编程

目录

JDBC是什么

JDBC的工作原理

JDBC的使用

准备数据库驱动包

将驱动包添加到项目中

正式使用

[1. 创建数据源](#1. 创建数据源)

[2. 连接数据库服务器](#2. 连接数据库服务器)

[3. 构造sql语句](#3. 构造sql语句)

[4. 将构造的sql语句传送给服务器执行](#4. 将构造的sql语句传送给服务器执行)

[5. 将资源释放](#5. 将资源释放)

最终代码


JDBC是什么

JDBC即java数据库连接. 是一种用于执行SQL语句的Java API, 它是Java中的数据坤连接的规范.这个API由java.sql.*,javax.sql.*包中的一些类和接口组成的,它为Java开发人员操作数据库提供了一个标准的API,可以为多种数据库提供统一访问. 如: MySQL提供了Java的驱动包mysql-connector-java, 需要基于Java操作MySQL需要使用该驱动包.

JDBC的工作原理

JDBC 为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问API的一种高级抽象,它主要包含一些通用的接口类 ,JDBC的优势:

java访问数据库操作就是完全面向抽象接口编程的

开发数据库应用不用限定在特定的数据库厂商的API

程序的可移植性高

JDBC的使用

准备数据库驱动包

MySQL驱动包我们可以去mvnrepository.com 这个地址里下载到本地:

在索引上搜MySQL,我们点击第二个.

进去后,会有多个版本,这里都是可以用的,这里我们使用49版.

点击下载.

将驱动包添加到项目中

在我们的项目中创建一个文件夹,可以命名为lib,再将驱动包mysql-connector-java-5.1.49.jar复制到lib中.这个包是不用解压的,我们可以通过Java来将里面的接口和类引入进来:

创建lib文件:

将驱动包复制过来,直接ctrl+v

将包配置进项目中:

正式使用

这里我们在main方法内使用

1. 创建数据源

jdbc:mysql://127.0.0.1:3306/data?characterEncoding=utf8&useSSL=false 这一长串可以理解为让java知道数据库在哪里位置,这个每个人的地址都是不一样的,因人而异

java 复制代码
//1. 创建数据源 数据源里提供了数据库在哪里,用户名,密码
        DataSource dataSource = new MysqlDataSource();
        //数据库位置
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/data?characterEncoding=utf8&useSSL=false");
        //用户名
        ((MysqlDataSource) dataSource).setUser("root");
        //密码
        ((MysqlDataSource) dataSource).setPassword("123456");

2. 连接数据库服务器

这里就好比要建立一个java与mysql传送操作的通道:

java 复制代码
//2. 连接数据库服务器
Connection connection = dataSource.getConnection();

3. 构造sql语句

这里用String来构造sal语句,再构造后要注意将sql语句转换为语句对象.

java 复制代码
        //3. 构造sql语句
        String sql = "insert into course values(11, '物理')";
        //需要将sql语句转换为语句对象
        PreparedStatement statement = connection.prepareStatement(sql);

这里有两个接口可以将sql语句转换,PreparedStatement, Statement. PrepareStatement是预处理后的结果,而Statement是没有预处理的,所以我们使用PrepareStatement

4. 将构造的sql语句传送给服务器执行

这里有两个方法可以使用,executeUpdate和executQuery,第一个得到的是执行sql的次数,第二个是结果集合

java 复制代码
        //4. 将构造好的sql传送给服务器执行
        //得到的是执行sql的次数
        int n = statement.executeUpdate();
        //得到的是执行sql的结果集
        statement.executeQuery();

5. 将资源释放

释放资源是从后往前释放:

java 复制代码
        //5. 将资源释放
        statement.close();
        statement.close();

最终代码

java 复制代码
public class Test {

    public static void main(String[] args) throws SQLException {

        //1. 创建数据源 数据源里提供了数据库在哪里,用户名,密码
        DataSource dataSource = new MysqlDataSource();
        //数据库位置
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/data?characterEncoding=utf8&useSSL=false");
        //用户名
        ((MysqlDataSource) dataSource).setUser("root");
        //密码
        ((MysqlDataSource) dataSource).setPassword("123456");

        //2. 连接数据库服务器
        Connection connection = dataSource.getConnection();

        //3. 构造sql语句
        String sql = "insert into course values(15, '物理')";
        //需要将sql语句转换为语句对象
        PreparedStatement statement = connection.prepareStatement(sql);


        //4. 将构造好的sql传送给服务器执行
        //得到的是执行sql的次数
        int n = statement.executeUpdate();
        //得到的是执行sql的结果集
       // statement.executeQuery();

        //5. 将资源释放
        statement.close();
        statement.close();

    }


}

总结

  1. 获取数据源

  2. 创建连接通道

  3. 构造sql语句

  4. 将sql传送给服务器执行

  5. 释放资源


相关推荐
远方160941 分钟前
14-Oracle 23ai Vector Search 向量索引和混合索引-实操
数据库·ai·oracle
GUIQU.2 小时前
【Oracle】数据仓库
数据库·oracle
恰薯条的屑海鸥2 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十六期-SSRF模块)
数据库·学习·安全·web安全·渗透测试·网络安全学习
咖啡啡不加糖2 小时前
Redis大key产生、排查与优化实践
java·数据库·redis·后端·缓存
曼汐 .2 小时前
数据库管理与高可用-MySQL高可用
数据库·mysql
MickeyCV2 小时前
使用Docker部署MySQL&Redis容器与常见命令
redis·mysql·docker·容器·wsl·镜像
2301_793102493 小时前
Linux——MySql数据库
linux·数据库
喵叔哟3 小时前
第4章:Cypher查询语言基础
数据库
刘 大 望3 小时前
数据库-联合查询(内连接外连接),子查询,合并查询
java·数据库·sql·mysql
从零开始学习人工智能3 小时前
Doris 数据库深度解析:架构、原理与实战应用
数据库·架构