📜  Apache Commons DBUtils-第一个应用程序(1)

📅  最后修改于: 2023-12-03 15:29:25.388000             🧑  作者: Mango

Apache Commons DBUtils-第一个应用程序

Apache Commons DBUtils是一个Java库,为JDBC提供了简化的接口,使得开发人员更加轻松地使用数据库。在本文中,我们将讨论如何使用Apache Commons DBUtils来编写一个简单的Java应用程序。

环境

在开始之前,我们需要在本地计算机上安装Java和Maven。

依赖

我们需要将以下依赖项添加到pom.xml文件中:

<dependency>
   <groupId>commons-dbutils</groupId>
   <artifactId>commons-dbutils</artifactId>
   <version>1.7</version>
</dependency>
<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>8.0.24</version>
</dependency>

这些依赖项将使我们能够使用Apache Commons DBUtils和MySQL数据库。

数据库

我们将使用MySQL数据库来运行这个应用程序。我们需要在本地计算机上安装MySQL和MySQL Workbench。

首先,我们需要创建一个名为“dbutils_example”的数据库,如下所示:

CREATE DATABASE dbutils_example;

然后,我们需要在该数据库中创建一个名为“users”的表。该表将包含用户的姓名和年龄。

USE dbutils_example;

CREATE TABLE users (
   id INT PRIMARY KEY AUTO_INCREMENT,
   name VARCHAR(50),
   age INT
);

现在我们已经准备就绪,可以开始编写我们的Java应用程序了。

Java应用程序

我们将创建一个Java类,名为“DbUtilsExample”,来处理数据库交互。

我们首先需要导入Apache Commons DBUtils和JDBC所需的包:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

然后,我们需要定义数据库的连接信息。在本例中,我们将使用默认端口3306和用户名root,密码为空(在实际应用程序中,请勿将密码保留为空)。

private static final String URL = "jdbc:mysql://localhost:3306/dbutils_example";
private static final String USER = "root";
private static final String PASSWORD = "";

接下来,我们需要编写一些方法来执行数据库操作。我们将编写以下方法:

  • getConnection() —— 用于获取数据库连接
  • createUserTable() —— 用于创建“users”表
  • insertUser() —— 用于向“users”表中插入新用户
  • getAllUsers() —— 用于从“users”表中获取所有用户
public static Connection getConnection() throws SQLException {
   return DriverManager.getConnection(URL, USER, PASSWORD);
}
 
public static void createUserTable() throws SQLException {
   String sql = "CREATE TABLE IF NOT EXISTS users (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), age INT)";
   QueryRunner queryRunner = new QueryRunner();
   queryRunner.update(getConnection(), sql);
}
 
public static void insertUser(String name, int age) throws SQLException {
   String sql = "INSERT INTO users (name, age) VALUES (?, ?)";
   QueryRunner queryRunner = new QueryRunner();
   queryRunner.update(getConnection(), sql, name, age);
}
 
public static List<User> getAllUsers() throws SQLException {
   String sql = "SELECT * FROM users";
   QueryRunner queryRunner = new QueryRunner();
   BeanListHandler<User> beanListHandler = new BeanListHandler<User>(User.class);
   List<User> users = queryRunner.query(getConnection(), sql, beanListHandler);
   return users;
}

在这些方法中,我们使用了QueryRunner类来执行SQL查询和更新。QueryRunner类提供了一些非常方便的方法,可以轻松地使用JDBC。

最后,我们需要定义一个用于执行我们的Java应用程序的主方法。

public static void main(String[] args) {
   try {
       createUserTable();
       insertUser("Alice", 25);
       insertUser("Bob", 30);
       insertUser("Charlie", 35);
 
       List<User> users = getAllUsers();
       for (User user : users) {
           System.out.println(user);
       }
   } catch (SQLException e) {
       e.printStackTrace();
   }
}

在主方法中,我们首先创建了“users”表,然后插入了三个用户。接下来,我们使用getAllUsers()方法获取所有用户,并打印它们的详细信息。

现在,我们可以运行我们的Java应用程序,并查看结果。

运行程序

要运行我们的程序,请执行以下命令:

mvn exec:java -Dexec.mainClass="com.example.DbUtilsExample"

我们应该能够看到以下输出:

User [id=1, name=Alice, age=25]
User [id=2, name=Bob, age=30]
User [id=3, name=Charlie, age=35]

这表明我们的Java应用程序已经成功地从“users”表中获取了所有用户。

总结

在本文中,我们学习了如何使用Apache Commons DBUtils来编写一个简单的Java应用程序。我们现在具有创建数据库连接、创建表、向表中插入数据以及从表中检索数据的能力。Apache Commons DBUtils是一个非常有用的库,它提供了简单的接口来使用Java JDBC。