Java+MySQL 前后端连接小白教程

在现代应用开发中,前后端分离的架构逐渐成为主流。而在这个架构中,Java作为后端开发的热门语言,MySQL作为数据库的主流选择,常常与前端技术结合使用。本文将带大家从头开始了解如何使用Java和MySQL实现前后端连接。

环境准备

首先,确保你已经安装以下环境:

  1. JDK(Java Development Kit)
  2. MySQL数据库
  3. 一个合适的IDE(如IntelliJ IDEA或Eclipse)
  4. 前端框架(如HTML、CSS、JavaScript或Vue.js等)

1. 创建MySQL数据库

首先,我们需要创建一个数据库及相关表。打开你的MySQL客户端,执行以下SQL语句:

CREATE DATABASE example_db;
USE example_db;

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL
);

在这个例子中,我们创建了一个名为users的表,包含idusernamepassword三个字段。

2. Java项目结构

接下来,我们需要创建一个Java项目。项目结构如下:

my-java-mysql-app
├── src
│   └── main
│       └── java
│           └── com
│               └── example
│                   ├── Controller.java
│                   ├── Database.java
│                   └── User.java
└── pom.xml

在这个结构中,我们将包含一个数据库连接类Database.java、一个用户模型User.java和一个控制器类Controller.java

3. 添加依赖

我们使用Maven作为构建工具,因此我们需要在pom.xml中添加MySQL的JDBC驱动依赖:

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.29</version>
    </dependency>
</dependencies>

4. 数据库连接

Database.java中,我们编写代码连接MySQL数据库:

package com.example;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Database {
    private static final String URL = "jdbc:mysql://localhost:3306/example_db";
    private static final String USER = "root";
    private static final String PASSWORD = "your_password";

    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(URL, USER, PASSWORD);
    }
}

5. 用户模型

User.java中,我们定义用户类:

package com.example;

public class User {
    private int id;
    private String username;
    private String password;

    // Getter and Setter methods
    // ...
}

6. 创建控制器

Controller.java中,我们实现用户功能的逻辑,比如注册和获取用户信息:

package com.example;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Controller {
    public void addUser(String username, String password) {
        String sql = "INSERT INTO users (username, password) VALUES (?, ?)";
        try (Connection conn = Database.getConnection();
             PreparedStatement pstmt = conn.prepareStatement(sql)) {
            pstmt.setString(1, username);
            pstmt.setString(2, password);
            pstmt.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public User getUser(String username) {
        String sql = "SELECT * FROM users WHERE username = ?";
        User user = null;
        try (Connection conn = Database.getConnection();
             PreparedStatement pstmt = conn.prepareStatement(sql)) {
            pstmt.setString(1, username);
            ResultSet rs = pstmt.executeQuery();
            if (rs.next()) {
                user = new User();
                user.setId(rs.getInt("id"));
                user.setUsername(rs.getString("username"));
                user.setPassword(rs.getString("password"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return user;
    }
}

7. 前台连接

通过RESTful API或者直接使用AJAX请求,前端可以向Java后端发送请求。这里我们只是在Java控制台上进行简单的示例,但在实际开发中可以通过Spring Boot等框架构建更复杂的接口。

public static void main(String[] args) {
    Controller controller = new Controller();
    controller.addUser("testUser", "123456");
    User user = controller.getUser("testUser");
    System.out.println("User: " + user.getUsername());
}

结语

通过以上几个步骤,我们搭建了一个简单的Java+MySQL的前后端连接示例。当然,实际开发中,你会涉及到更复杂的功能,如用户输入校验、异常处理、加密存储等。希望这篇教程能帮助你入门Java和MySQL的开发。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部