JDBC连接MySQL并实现模糊查询

下面是实现JDBC连接MySQL并实现模糊查询的完整攻略以及两条示例。

步骤一:导入MySQL JDBC驱动包

在使用Java连接MySQL之前,我们需要先将MySQL JDBC驱动包导入到项目中。

推荐使用官方提供的驱动包,下载地址:https://dev.mysql.com/downloads/connector/j/

下载完成后,将驱动包添加到项目的classpath路径下即可。

步骤二:创建连接

通过以下代码创建一个MySQL连接:

Connection conn = null;
try {
    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
} catch (SQLException | ClassNotFoundException e) {
    e.printStackTrace();
}

其中,jdbc:mysql://localhost:3306/mydatabase为数据库连接字符串,其中localhost为数据库所在的服务器地址,3306为MySQL服务端口号,mydatabase为数据库名称。rootpassword分别为连接数据库需要使用的用户名和密码。

步骤三:创建Statement对象

创建用于执行SQL语句的Statement对象,代码如下:

Statement stmt = null;
try {
    stmt = conn.createStatement();
} catch (SQLException e) {
    e.printStackTrace();
}

步骤四:执行SQL语句

在创建Statement对象之后,我们可以使用该对象执行SQL语句。

以模糊查询为例,假设我们要查询所有名称中包含“Tom”的记录,可以使用如下代码:

String sql = "SELECT * FROM mytable WHERE name LIKE '%Tom%'";
ResultSet rs = null;
try {
    rs = stmt.executeQuery(sql);
} catch (SQLException e) {
    e.printStackTrace();
}

其中,mytable为待查询的表名,name为要查询的字段名,'%Tom%'为要查询的关键字,%表示可以匹配任意多个字符。

步骤五:获取查询结果

执行完SQL语句之后,我们可以使用ResultSet对象获取查询结果。

以输出查询结果为例,可以使用如下代码:

try {
    while (rs.next()) {
        String name = rs.getString("name");
        int age = rs.getInt("age");
        System.out.println("name: " + name + ", age: " + age);
    }
} catch (SQLException e) {
    e.printStackTrace();
}

其中,nameage为查询结果中的字段名。

示例一:查询用户列表

假设我们要查询所有用户名包含“Tom”的用户列表,可以使用以下代码:

Connection conn = null;
try {
    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
} catch (SQLException | ClassNotFoundException e) {
    e.printStackTrace();
}

Statement stmt = null;
try {
    stmt = conn.createStatement();
} catch (SQLException e) {
    e.printStackTrace();
}

String sql = "SELECT * FROM user WHERE name LIKE '%Tom%'";
ResultSet rs = null;
try {
    rs = stmt.executeQuery(sql);
} catch (SQLException e) {
    e.printStackTrace();
}

try {
    while (rs.next()) {
        String name = rs.getString("name");
        int age = rs.getInt("age");
        System.out.println("name: " + name + ", age: " + age);
    }
} catch (SQLException e) {
    e.printStackTrace();
}

try {
    rs.close();
    stmt.close();
    conn.close();
} catch (SQLException e) {
    e.printStackTrace();
}

其中,user为查找用户的表名。

示例二:更新记录

假设我们要将所有名称中包含“Tom”的记录的年龄修改为30岁,可以使用以下代码:

Connection conn = null;
try {
    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
} catch (SQLException | ClassNotFoundException e) {
    e.printStackTrace();
}

Statement stmt = null;
try {
    stmt = conn.createStatement();
} catch (SQLException e) {
    e.printStackTrace();
}

String sql = "UPDATE mytable SET age = 30 WHERE name LIKE '%Tom%'";
try {
    stmt.executeUpdate(sql);
} catch (SQLException e) {
    e.printStackTrace();
}

try {
    stmt.close();
    conn.close();
} catch (SQLException e) {
    e.printStackTrace();
}

其中,mytable为要更新的表名。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JDBC连接MySQL并实现模糊查询 - Python技术站

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

相关文章

  • Spring Data Jpa返回自定义对象的3种方法实例

    下面是关于“Spring Data Jpa返回自定义对象的3种方法实例”的完整攻略。 1. 什么是自定义对象? 在使用Spring Data JPA时,我们通常通过继承JpaRepository接口来完成数据的操作。但是,有时候我们需要在查询过程中返回自定义的对象,而不是返回实体类对象。 例如,在一个电商网站中,我们需要统计某个商品的销量排行榜。我们需要查询…

    Java 2023年6月2日
    00
  • JAVA实现 springMVC方式的微信接入、实现消息自动回复实例

    微信公众号开发是一个非常热门的领域,而 SpringMVC 是一个非常流行的 Java Web 框架。本文将详细讲解如何使用 SpringMVC 框架实现微信公众号接入和消息自动回复功能,包括如何配置微信公众号、如何处理微信公众号的请求、如何实现消息自动回复等。 配置微信公众号 在开始之前,我们需要先配置微信公众号。下面是一个简单的示例,演示了如何配置微信公…

    Java 2023年5月18日
    00
  • Java简易计算器程序设计

    下面我就给您讲解Java简易计算器程序设计的完整攻略。 1. 确定需求 在开始设计Java简易计算器程序之前,我们需要先明确需求,即我们要实现什么样的功能。在这里,我们可以列出计算器程序的基本功能: 支持基本的加减乘除四则运算 支持小数计算 支持括号功能 2. 设计代码框架 在明确需求之后,我们需要开始设计Java程序的代码框架。我们可以将计算器程序分成以下…

    Java 2023年5月23日
    00
  • 详解json在SpringBoot中的格式转换

    下面详细讲解“详解json在SpringBoot中的格式转换”的完整攻略。 什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,通常用于前后端数据交互。它基于JavaScript语言中的对象字面量表示法,而且易于读写和解析生成,被广泛应用于Web开发中。 JSON实际上就是一个字符串,它使用键值对的方式…

    Java 2023年5月26日
    00
  • Java Spring的两种事务你知道吗

    下面我将详细讲解Java Spring的两种事务。 什么是事务 在计算机领域中,事务(Transaction)指的是一组要么全部执行,要么全部不执行的操作。在关系型数据库等领域,事务可以保证数据的一致性和完整性。如果其中任意一个操作失败,则整个事务自动回滚到未执行前的状态。Spring框架提供了对事务的支持。 Spring的事务特性 Spring框架提供了两…

    Java 2023年5月19日
    00
  • Java字符串定义及常用方法

    Java字符串定义及常用方法 字符串定义 Java字符串是一个对象,使用String类来创建和操作字符串。Java字符串的特点是不可改变性,即在创建字符串后,不能改变其值。 字符串创建 Java字符串可以通过字面量和构造函数来创建。 字面量方式 String str = "Java字符串"; 构造函数方式 String str2 = ne…

    Java 2023年5月26日
    00
  • 详解Junit 测试之 Spring Test

    当我们用Spring框架进行开发时,经常需要对一些业务逻辑进行测试,这就需要使用到Junit进行单元测试。而Spring Test提供了一些方便的用例和注释,来使测试更加容易和完善。本篇文章将详细讲解如何使用Junit进行Spring测试。 前置条件 在进行Spring Test的开发前,需要确保以下几项内容: 已经配置了Spring框架的依赖。 已经配置了…

    Java 2023年5月20日
    00
  • Java日期时间及日期相互转换实现代码

    下面是“Java日期时间及日期相互转换实现代码”的完整攻略: 1. Java日期时间基础 Java 日期时间类是 Java API 内置的类,主要包括以下两个部分: 日期类:Date 类是 JDK 1.0 中的类,主要用于表示日期和时间。 日期格式类:DateFormat 是格式化日期时间的抽象类,它可以将 Date 类型的时间格式化为指定格式的字符串,也可…

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