java jdbc连接mysql数据库实现增删改查操作

Java JDBC连接MySQL数据库实现增删改查操作

简介

Java中的JDBC(Java Database Connectivity)是Java语言操作数据库的通用API,能够与各种关系型数据库进行交互。MySQL是一种流行的关系型数据库,在Java中使用JDBC连接MySQL数据库进行增删改查操作既方便又常用。

步骤

1. 准备工作

在使用JDBC连接MySQL之前,需要进行一些准备工作:

  • 安装MySQL数据库(略)
  • 下载MySQL JDBC驱动
  • 导入MySQL JDBC驱动到项目中

以下为Maven项目中导入MySQL JDBC驱动的方式,也可以将其手动导入到项目中:

<!-- MySQL JDBC驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.26</version>
</dependency>

2. 连接MySQL数据库

连接MySQL数据库可以使用java.sql.Connection接口,该接口包含以下方法:

public interface Connection extends Wrapper, AutoCloseable {
    // 标准SQL查询语句 
    public Statement createStatement() throws SQLException;
    // 标准SQL查询语句,即可滚动的结果集 
    public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException;
    // 将标准SQL查询语句编译为可重用的语句 
    public PreparedStatement prepareStatement(String sql) throws SQLException;
    // 将标准SQL查询语句编译为可重用的语句,即可滚动的结果集 
    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException;
    // 开启事务 
    public void setAutoCommit(boolean autoCommit) throws SQLException;
    // 提交事务 
    public void commit() throws SQLException;
    // 回滚事务 
    public void rollback() throws SQLException;
    // 关闭连接 
    public void close() throws SQLException;
}

下面是连接MySQL数据库的示例:

public class JdbcDemo {

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

        // 注册MySQL数据库的驱动
        Class.forName("com.mysql.cj.jdbc.Driver");

        // 获取到连接MySQL的驱动
        String url = "jdbc:mysql://localhost:3306/example?serverTimezone=UTC";
        String username = "root";
        String password = "root123456";
        Connection conn = DriverManager.getConnection(url, username, password);

        System.out.println("已连接MySQL数据库");

        // ...
    }

}

3. 实现增、删、改、查操作

连接成功后,就可以使用JDBC API对MySQL数据库进行增、删、改、查操作。以下是操作MySQL数据库的示例:

public class JdbcDemo {

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

        // 注册MySQL数据库的驱动
        Class.forName("com.mysql.cj.jdbc.Driver");

        // 获取到连接MySQL的驱动
        String url = "jdbc:mysql://localhost:3306/example?serverTimezone=UTC";
        String username = "root";
        String password = "root123456";
        Connection conn = DriverManager.getConnection(url, username, password);

        System.out.println("已连接MySQL数据库");

        // 实现增加数据
        String insertSql = "INSERT INTO user(username, password) VALUES (?, ?)";
        PreparedStatement ps = conn.prepareStatement(insertSql);
        ps.setString(1, "John");
        ps.setString(2, "123456");
        ps.executeUpdate();
        System.out.println("增加数据操作成功");

        // 实现删除数据
        String deleteSql = "DELETE FROM user WHERE username = ?";
        PreparedStatement ps1 = conn.prepareStatement(deleteSql);
        ps1.setString(1, "John");
        ps1.executeUpdate();
        System.out.println("删除数据操作成功");

        // 实现更新数据
        String updateSql = "UPDATE user SET password = ? WHERE username = ?";
        PreparedStatement ps2 = conn.prepareStatement(updateSql);
        ps2.setString(1, "654321");
        ps2.setString(2, "Lucy");
        ps2.executeUpdate();
        System.out.println("更新数据操作成功");

        // 实现查询数据
        String querySql = "SELECT * FROM user";
        Statement statement = conn.createStatement();
        ResultSet resultSet = statement.executeQuery(querySql);
        while (resultSet.next()) {
            int id = resultSet.getInt("id");
            String username1 = resultSet.getString("username");
            String password1 = resultSet.getString("password");
            System.out.println("id=" + id + ", username=" + username1 + ", password=" + password1);
        }

        //关闭连接
        conn.close();
    }

}

结束语

Java JDBC连接MySQL数据库实现增删改查操作是在Java语言中访问MySQL数据库的基础标准库之一,它提供了面向关系型数据的API和底层实现,封装了大量的访问底层的细节和异常,使开发者能够更加专注于SQL语句本身的实现。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java jdbc连接mysql数据库实现增删改查操作 - Python技术站

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

相关文章

  • Springboot如何使用Aspectj实现AOP面向切面编程

    下面我将为你详细讲解如何使用Aspectj实现AOP面向切面编程。 什么是AOP? AOP,全称为Aspect Oriented Programming,即面向切面编程。它是一种编程思想,与OOP(面向对象编程)相对。AOP的主要优势在于能够将系统中的横切关注点(例如日志输出、权限校验、事务管理等)与核心业务逻辑分离。从而方便开发复用性更强的组件。Aspec…

    Java 2023年5月19日
    00
  • 浅谈Hibernate n+1问题

    关于“浅谈Hibernate n+1问题”,我会详细讲解以下内容: 1. 什么是Hibernate的n+1问题 在Hibernate的使用过程中,往往会出现一种情况:当我们从数据库中查询一条数据时,如果该数据关联了其他表,那么在进行查询操作时,Hibernate会发出n+1条SQL语句。其中的n表示初始查询所得的结果数,而+1则是因为在查询与该初始结果相关联…

    Java 2023年5月20日
    00
  • Java中生成随机数的实现方法总结

    Java中生成随机数的实现方法总结 在Java中,生成随机数是一种广泛使用的功能,常见的应用场景包括加密、生成验证码、游戏中的随机事件等。本文将介绍Java中生成随机数的几种实现方法。 方法一:使用Math类生成随机数 最简单的生成随机数的方法是使用java.util.Math类中的静态方法random()。每次调用它都会生成一个0到1之间的随机数。 pub…

    Java 2023年5月26日
    00
  • 关于@JsonProperty和@JSONField注解的区别及用法

    下面就是关于JsonProperty和JSONField注解的区别及用法的完整攻略。 1. 什么是 @JsonProperty 和 @JSONField 注解 @JsonProperty 和 @JSONField 都是用来指定属性名与 Json 中的名称对应关系的注解,但是前者是 Jackson 库中提供的注解,后者是阿里巴巴 fastjson 库中提供的注…

    Java 2023年5月26日
    00
  • springMVC 用户登录权限验证实现过程解析

    SpringMVC 用户登录权限验证实现过程解析 为什么需要用户登录权限验证 在Web应用程序中,用户登录权限验证通常被认为是必不可少的功能。这是因为在实际应用中往往会存在很多需要进行特殊权限验证的操作。 例如,用户在购物网站上进行订单提交前必须先进行登录验证,用户在博客网站上进行评论前必须先进行登录验证等等。 这些验证不仅能够保证系统的安全性,也能够使得用…

    Java 2023年5月16日
    00
  • 基于springboot实现一个简单的aop实例

    基于Spring Boot实现一个简单的AOP实例 AOP(Aspect-Oriented Programming)是一种编程范式,它可以将横切关注点(如日志、事务、安全等)从业务逻辑中分离出来,使得代码更加清晰、易于维护。Spring Boot提供了强大的AOP支持,本文将介绍如何基于Spring Boot实现一个简单的AOP实例。 1. 创建Spring…

    Java 2023年5月14日
    00
  • Java线程关闭的3种方法

    下面我会详细讲解Java线程关闭的3种方法。 1. 使用标志位关闭线程 原理 使用一个boolean类型的变量作为线程的标志位,当需要关闭线程时,将标志位设为false,在run方法中判断标志位,如果为false,则退出线程。 示例代码 public class StopThreadByFlag extends Thread { private volati…

    Java 2023年5月18日
    00
  • 微信小程序实现横屏手写签名

    微信小程序可以通过使用第三方库实现横屏手写签名功能。以下是一些示例来演示如何实现这一功能。 预备知识 在实现横屏手写签名功能前,必须具备以下的预备知识: 了解Canvas绘图的基本概念。 了解怎样创建并运用自定义小程序组件。 了解JavaScript语言,并熟悉使用第三方JavaScript库。 实现步骤 创建一个新的小程序页面,例如名为“Signature…

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