返回顶部
首页 > 资讯 > 数据库 >零基础掌握JDBC操作MySQL
  • 208
分享到

零基础掌握JDBC操作MySQL

2024-04-02 19:04:59 208人浏览 泡泡鱼
摘要

目录JDBC概述idea下创建JDBC环境JDBC 下操作 sql 的套路JDBC 下增删改查的完整代码JDBC概述 Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语

JDBC概述

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。

IDEA下创建JDBC环境

❤️新建 Maven 工程

零基础掌握JDBC操作MySQL

❤️填写项目所在目录、名称、GroupId、ArtifactId

零基础掌握JDBC操作MySQL

❤️配置 pom.XML 文件

在此文件中输入以下代码,有部分代码是IDEA自动生成,我们只需要补充,代码补充完成之后,点击右上角更新按钮,IDEA就会开始下载Mysql连接器,有了这个连接器,我们才能通过Java代码链接mysql服务器

首次配置此文件可能需要较长时间

当External Libraries 下出现了 mysql-connector-java 时,说明配置成功

零基础掌握JDBC操作MySQL

零基础掌握JDBC操作MySQL

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="Http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.hsq</groupId>
    <artifactId>jdbc-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.49</version>
        </dependency>
    </dependencies>
</project>

JDBC 下操作 SQL 的套路

❤️操作 SQL 之前的准备

1. 构造好一个 DataSource 对象

2. 通过 DataSource 得到 Connection 对象

3. 通过 Connection 对象 + SQL 语句,得到 Statement 对象

建议将以下代码封装成一个 DBUtil 类,以便之后使用

有了以下代码就可以正式在 JDBC 下操作 SQL 了

public class DBUtil {
    private static final DataSource dateSource;
    static {
        MysqlDataSource db = new MysqlDataSource();
        db.setServerName("localhost");
        db.setPort(3306);    // MySQL 服务器端口,一般为3306
        db.setUser("root");    // 登录 MySQL 服务器的用户名
        db.setPassword("123456");    // 登录 MySQL 服务器的密码
        db.setDatabaseName("0331_library");    // 设置默认库
        db.setUseSSL(false);
        db.setCharacterEncoding("utf-8"); 
        db.setServerTimezone("Asia/Shanghai");
        dateSource = db;
    }
    public static Connection connection() throws SQLException {
        return dateSource.getConnection();
    }
}

❤️如何使用代码执行SQL

在 JDBC 下操作 SQL 有两套固定代码,只需要更换不同的 SQL 语句即可

1. 带结果的 SQL 语句 例如:select

2. 不带结果的 SQL 语句 例如:delect,update,insert

带结果的 SQL 语句

String sql = "要执行的 SQL";
try (Connection c = db.getConnection()) {
    try (PreparedStatement ps = c.prepareStatement(sql)) { 
        try (ResultSet rs = ps.executeQuery()) { 
            while (rs.next()) {
                int i = rs.getInt(1);
                String s = rs.getString(2); 
            }
        }
    }
}

不带结果的 SQL 语句

String sql = "不带结果的 SQL";
try (Connection c = db.getConnection()) {
    try (PreparedStatement ps = c.prepareStatement(sql)) {
        ps.executeUpdate();
    }
}

上面这两套代码的主要区别是:

有结果的代码最后需要一个 ResultSet 对象,执行 ps.executeQuery(),并且需要 while 来得到每一行的结果

没有结果的代码则直接执行ps.executeUpdate() 即可

JDBC 下增删改查的完整代码

public class Main {
    public static void main(String[] args) throws SQLException {
        MysqlDataSource db = new MysqlDataSource();
        db.setServerName("localhost");
        db.setPort(3306);
        db.setUser("root");
        db.setPassword("123456");
        db.setDatabaseName("0331_library");
        db.setUseSSL(false);
        db.setCharacterEncoding("utf-8");
        db.setServerTimezone("Asia/Shanghai");
     // 增
     try (Connection c = db.getConnection()) {
         String sql = "insert into readers (name) values ('陈浩')";
         try (PreparedStatement ps = c.prepareStatement(sql)) {
             ps.executeUpdate();
         }
     }
    // 删
     try (Connection c = db.getConnection()) {
         String sql = "delete from readers where rid = 1";
         try (PreparedStatement ps = c.prepareStatement(sql)) {
             ps.executeUpdate();
         }
     } 
    // 改
     try (Connection c = db.getConnection()) {
         String sql = "update readers set name = '123' where rid = 1";
         try (PreparedStatement ps = c.prepareStatement(sql)) {
             ps.executeUpdate();
         }
     } 
    // 查
     try (Connection c = db.getConnection()) {
         String sql = "select name from readers where rid = 1";
         try (PreparedStatement ps = c.prepareStatement(sql)) {
             try (ResultSet rs = ps.executeQuery()) {
                where (rs.next) {
                    String name = rs.getString(1);
                }    
             }
         }
     } 
}

到此这篇关于零基础掌握JDBC操作 MySQL的文章就介绍到这了,更多相关JDBC操作 MySQL内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: 零基础掌握JDBC操作MySQL

本文链接: https://lsjlt.com/news/99366.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 零基础掌握JDBC操作MySQL
    目录JDBC概述IDEA下创建JDBC环境JDBC 下操作 SQL 的套路JDBC 下增删改查的完整代码JDBC概述 Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语...
    99+
    2024-04-02
  • SpringMVC拦截器零基础掌握
    目录项目准备单个拦截器的执行流程多个拦截器的执行流程权限拦截器(案例分享) SpringMVC 的拦截器 Interceptor 的主要用来拦截指定的用户请求,并进行相应的预处理或后...
    99+
    2023-03-12
    SpringMVC拦截器实现 SpringMVC拦截器原理
  • OpenCV半小时掌握基本操作之图像基础操作
    目录概述截取图像获取颜色通道读取视频【OpenCV】⚠️高手勿入! 半小时学会基本操作⚠️ 图像基础操作 概述 OpenCV 是一...
    99+
    2024-04-02
  • Node.js WebSocket 入门:从零基础到掌握
    导言 WebSocket 是一种强大的通信协议,用于在客户端和服务器之间建立双向、实时的通信通道。Node.js 提供了一个健壮的 WebSocket 框架,使其成为构建实时应用程序的理想选择。本文将指导初学者从头开始掌握 Node.j...
    99+
    2024-03-01
    Node.js、WebSocket、实时通信、Socket.IO、Express.js
  • PythonColor类与文字绘制零基础掌握
    目录视频pygame.Color方法&属性示例Rect对象与Surface对象区别文字的绘制常用的方法文字版的小球游戏视频 观看视频 pygame.Color Pygame ...
    99+
    2024-04-02
  • 零基础学Java要掌握哪些技能
    本篇内容介绍了“零基础学Java要掌握哪些技能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  初学者先弄清这些Java的基本概念也是必不可...
    99+
    2023-06-02
  • Python 基础的探险之旅:从零基础到熟练掌握
    踏上 Python 之旅,从理解其基本语法开始。熟悉变量类型、运算符、条件语句和循环。学习函数和模块,了解代码的组织和重用。 数据操作 Python 以其出色的数据处理能力而闻名。掌握列表、元组、字典和集合等数据结构。了解如何操作、转换和...
    99+
    2024-03-13
    初探 Python
  • 掌握Mysql操作流程
    下面讲讲关于Mysql操作流程,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完Mysql操作流程这篇文章你一定会有所受益。前提是需要开启表的binlog日志log-bin=tes...
    99+
    2024-04-02
  • 掌握mysql基础入门知识
    本文主要给大家介绍mysql基础入门知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql基础入门知识吧。mysql操作一、连接数据库mysq...
    99+
    2024-04-02
  • mysql基础操作
    查看有哪些库:show databases;进入某个库:use 库名;进入库之后查看有哪些表:show tables;查看某张表的结构:desc 表名;查看某张表的所有内容:select * from 表名;创建一个库:...
    99+
    2015-11-17
    mysql基础操作
  • MySQL -- 基础操作
    CREATE DATABASE 数据库名称; 查看数据库: # 查看所有数据库 SHOW DATABASES; 创建数据库: # 选择一个数据库/切换至xxx数据库 USE 数据库名称; 创建数据库...
    99+
    2015-11-15
    MySQL -- 基础操作
  • C语言零基础彻底掌握预处理上篇
    目录1、#define的深度认识1.1 数值宏常量1.2 字符串宏常量1.3 用宏充当注释符号1.4 用宏替换多条语句1.5 宏定义的使用建议2、#undef 撤销宏2.1 宏的定义...
    99+
    2022-11-13
    C语言 预处理 C语言 预处理命令
  • C语言零基础彻底掌握预处理下篇
    目录1、条件编译1.1 条件编译如何使用1.2 用 #if 模拟 #ifdef1.3 为何要有条件编译2、文件包含2.1 #include 究竟干了什么2.2 防止头文件重复包含的条...
    99+
    2022-11-13
    C语言 预处理 C语言 预处理命令
  • JavaScript Jasmine:零基础入门,轻松掌握前端测试
    什么是JavaScript Jasmine? Jasmine是一个开源的、行为驱动的测试框架,用于编写前端测试。它使用简洁的语法和清晰的输出,让您轻松测试您的JavaScript代码。Jasmine被广泛用于测试各种JavaScript...
    99+
    2024-02-11
    JavaScript Jasmine 前端测试 单元测试 行为驱动开发
  • 快速掌握MySQL基础教程方法
    本文主要给大家介绍快速掌握MySQL基础教程方法,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下快速掌握MySQL基础教程方法吧。1分钟安装Part1...
    99+
    2024-04-02
  • 怎么掌握mysql多表操作
    本篇内容主要讲解“怎么掌握mysql多表操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么掌握mysql多表操作”吧!多表关系一对一(一般是合并表), 一对...
    99+
    2024-04-02
  • JavaScript基础知识全攻略:从零开始轻松掌握
    一、JavaScript概述 JavaScript是一种高级编程语言,通常用于处理网页中的动态内容和交互性。它也是前端开发中必备的技能之一,常与HTML和CSS一起使用。JavaScript具有强大的功能,包括变量声明、运算操作、控制流...
    99+
    2024-02-08
    JavaScript 编程语言 网页开发 交互性 动态性 基础知识
  • Java Map 入门指南:零基础轻松掌握集合框架的基础知识
    Java Map 简介 Java Map 是一个存储键值对的集合。键是唯一标识符,用于查找相应的值。值可以是任何类型的对象。Map 中的元素被称为键值对。键值对由键和值组成。键是键值对的唯一标识符,值是与键关联的数据。 Map 的不同实...
    99+
    2024-02-09
    Java Map 键值对 HashMap TreeMap LinkedHashMap
  • 【Mysql】万字长文带你快速掌握数据库基础概念及SQL基本操作
    文章目录 前言一、数据库相关概念1. 什么是数据库2. 数据库的种类3. Mysql 简介4. SQL简介5. 数据库中常见的数据类型 二、SQL基础1. SQL通用语法2. SQL的主要分类3. DDL(数据库,表,索引,视图...
    99+
    2023-08-16
    数据库 mysql sql 大数据 开发工具 后端
  • MySQL基础入门知识你掌握了吗
    本文主要给大家介绍MySQL基础入门知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL基础入门知识吧。一、安装篇:sudo ap...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作