详解通过JDBC进行简单的增删改查(以MySQL为例)

以下是详解通过JDBC进行简单的增删改查的攻略:

JDBC简介

Java Database Connectivity(JDBC)是Java语言中访问数据库的一种标准方式,它提供了一种访问不同数据库的标准方法。通过JDBC,开发者可以使用Java程序连接到不同的数据库,执行SQL查询,以及处理查询结果。

JDBC使用流程

通常,使用JDBC完成数据库操作,流程如下:

  1. 加载驱动:加载JDBC驱动程序;
  2. 连接数据库:使用驱动程序创建Connection对象;
  3. 创建数据操作对象:通过Connection创建数据操作对象,如Statement、PreparedStatement等;
  4. 执行SQL语句:使用数据操作对象执行SQL语句,如查询、插入、删除、更新等;
  5. 处理查询结果:处理查询结果并以需要的方式呈现。

使用JDBC进行MySQL数据库操作

以下是使用JDBC进行MySQL数据库操作的示例代码:

导入驱动依赖

<!-- MySQL驱动依赖 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.11</version>
</dependency>

加载驱动

Class.forName("com.mysql.cj.jdbc.Driver");

连接数据库

String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);

创建数据操作对象

使用Connection创建数据操作对象,如Statement、PreparedStatement等:

Statement stmt = conn.createStatement();
PreparedStatement pstmt = conn.prepareStatement(sql);

执行SQL语句

使用数据操作对象执行SQL语句,如查询、插入、删除、更新等:

查询数据

String sql = "SELECT * FROM user WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
    int age = rs.getInt("age");
    System.out.println("id: " + id + ", name: " + name + ", age: " + age);
}

插入数据

String sql = "INSERT INTO user (name, age) VALUES (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setInt(2, age);
int affectedRows = pstmt.executeUpdate();
System.out.println("插入成功,受影响的行数:" + affectedRows);

更新数据

String sql = "UPDATE user SET name = ?, age = ? WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setInt(2, age);
pstmt.setInt(3, id);
int affectedRows = pstmt.executeUpdate();
System.out.println("更新成功,受影响的行数:" + affectedRows);

删除数据

String sql = "DELETE FROM user WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
int affectedRows = pstmt.executeUpdate();
System.out.println("删除成功,受影响的行数:" + affectedRows);

处理查询结果

ResultSet对象包含了查询返回的结果,可以通过该对象的方法获取查询结果,如getInt、getString等。

以上就是通过JDBC进行简单的增删改查(以MySQL为例)的攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解通过JDBC进行简单的增删改查(以MySQL为例) - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java 对称加密几种算法分别实现

    下面是关于Java对称加密几种算法分别实现的攻略: 一、对称加密算法简介 对称加密算法是指加密和解密使用同一密钥的加密算法,也叫私钥加密算法。对称加密算法又分为块加密算法和流加密算法两种,块加密算法是按照固定长度的数据块进行加密,而流加密算法是按照流式数据进行加密。 二、对称加密算法的实现 Java中对称加密算法的实现主要包括以下几种: 1. DES加密算法…

    Java 2023年5月19日
    00
  • jstl标签基础开发步骤(详解)

    jstl是JavaServer Pages标准标记库的缩写,这是一组XML标记,可用于简化JSP页面开发。jstl是一种常用的简化JSP开发的工具,提供了一些标签和函数库,可以方便地对各种数据类型进行处理,并且具有高度的可重用性。 下面是“jstl标签基础开发步骤(详解)”的完整攻略: 步骤一:导入JSTL库 要使用jstl标签库,必须首先把相应的库文件(.…

    Java 2023年6月15日
    00
  • springboot 传参校验@Valid及对其的异常捕获方式

    下面我来详细讲解一下“springboot 传参校验@Valid及对其的异常捕获方式”的完整攻略。 1. 什么是@Valid注解 Spring Boot 在处理 Web 请求时,通常会使用数据绑定将请求中的数据映射到 Controller 中的方法参数列表里。当数据格式不正确或缺失时,我们往往会在方法中手动校验数据,这会增加开发的耗时,也容易产生错误。而@V…

    Java 2023年5月27日
    00
  • 加快JDBC设计中JSP访问数据库

    下面是关于加快JDBC设计中JSP访问数据库的完整攻略。 一、背景概述 当我们使用JDBC API来开发Java应用程序时,一些重复的代码会让我们感到烦恼。这些代码包括: 注册驱动 创建连接 创建语句 执行查询或更新 处理结果 这些操作必须在每个Java类中重复实现,这显然是繁琐的。JSP技术为我们提供了一种简单的方式来访问数据库,减少代码冗余和开发时间。 …

    Java 2023年6月16日
    00
  • Java 中如何使用 stream 流

    使用 stream 流是 Java 中进行集合 operations 和 transformations 的便捷方法。在 Java 8 中,我们可以对集合进行过滤、映射、排序等操作,可以省去繁琐的 for 循环和 if 判断。下面是 Java 中使用 stream 流的攻略: 一、为集合创建 stream 流 在 Java 中使用 stream 流,需要先为…

    Java 2023年5月26日
    00
  • layui树形菜单动态遍历的例子

    layui树形菜单动态遍历的完整攻略 1. 前置条件 要实现layui树形菜单的动态遍历,需要先了解Layui框架的基本使用以及树形菜单的基本实现原理。 2. 实现过程 (1)准备数据源 要在页面上实现树形菜单的动态遍历,首先需要准备数据源。数据源可以是静态的,也可以从数据库、接口等动态获取。在本次示例中,以JSON格式的静态数据为例: var data =…

    Java 2023年6月15日
    00
  • java ArrayList和Vector的区别详解

    Java ArrayList 和 Vector 的区别详解 在Java程序开发中,ArrayList和Vector是两个非常常用的集合类,它们都可以用来存储一组数据,但是它们之间也存在一些区别,本篇文章将详细解释ArrayList和Vector的区别。 ArrayList ArrayList是Java集合框架中非常常用的动态数组实现类,它是基于数组结构实现的…

    Java 2023年5月26日
    00
  • SpringBoot整合TKMyBatis实现单表增删改查操作

    下面将详细讲解“SpringBoot整合TKMyBatis实现单表增删改查操作”的完整攻略。 1. 导入依赖 首先,在项目的 pom.xml 文件中导入以下依赖: <!– SpringBoot Starter –> <dependency> <groupId>org.springframework.boot</g…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部