实现“MySql项目实例影视库”教程

整体流程

首先,我们需要创建一个数据库用来存储影视信息,然后创建一个项目来连接数据库并实现对影视信息的增删改查功能。

以下是整个流程的步骤:

步骤 操作
1 创建数据库
2 创建影视信息表
3 创建项目
4 连接数据库
5 实现影视信息的增删改查功能

操作步骤

1. 创建数据库

首先,我们使用以下代码创建一个名为moviedb的数据库:

CREATE DATABASE moviedb;

2. 创建影视信息表

然后,我们使用以下代码创建一个名为movies的表来存储影视信息:

CREATE TABLE movies (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(100),
    director VARCHAR(50),
    year INT
);

3. 创建项目

接下来,我们创建一个项目,并在项目中引入MySql的连接库。

4. 连接数据库

在项目中,我们使用以下代码来连接数据库:

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

public class DatabaseConnection {
    private static final String URL = "jdbc:mysql://localhost:3306/moviedb";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "password";

    public static Connection getConnection() {
        Connection connection = null;
        try {
            connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
            System.out.println("Connected to database successfully!");
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }
}

5. 实现影视信息的增删改查功能

最后,我们在项目中实现对影视信息的增删改查功能。

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

public class MovieDAO {
    private Connection connection;

    public MovieDAO() {
        connection = DatabaseConnection.getConnection();
    }

    public void addMovie(String title, String director, int year) {
        String query = "INSERT INTO movies (title, director, year) VALUES (?, ?, ?)";
        try {
            PreparedStatement statement = connection.prepareStatement(query);
            statement.setString(1, title);
            statement.setString(2, director);
            statement.setInt(3, year);
            statement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void deleteMovie(int id) {
        String query = "DELETE FROM movies WHERE id = ?";
        try {
            PreparedStatement statement = connection.prepareStatement(query);
            statement.setInt(1, id);
            statement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void updateMovie(int id, String title, String director, int year) {
        String query = "UPDATE movies SET title = ?, director = ?, year = ? WHERE id = ?";
        try {
            PreparedStatement statement = connection.prepareStatement(query);
            statement.setString(1, title);
            statement.setString(2, director);
            statement.setInt(3, year);
            statement.setInt(4, id);
            statement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void getAllMovies() {
        String query = "SELECT * FROM movies";
        try {
            PreparedStatement statement = connection.prepareStatement(query);
            ResultSet result = statement.executeQuery();
            while (result.next()) {
                System.out.println("ID: " + result.getInt("id") + ", Title: " + result.getString("title") + 
                                   ", Director: " + result.getString("director") + ", Year: " + result.getInt("year"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

类图

classDiagram
    class DatabaseConnection {
        -String URL
        -String USERNAME
        -String PASSWORD
        +Connection getConnection()
    }
    class MovieDAO {
        -Connection connection
        +MovieDAO()
        +addMovie(String title, String director, int year)
        +deleteMovie(int id)
        +updateMovie(int id, String title, String director, int year)
        +getAllMovies()
    }
    DatabaseConnection --> MovieDAO

序列图

sequenceDiagram
    participant User
    participant DatabaseConnection
    participant MovieDAO

    User ->> DatabaseConnection: getConnection()
    DatabaseConnection ->> MovieDAO: connection
    User ->> MovieDAO: addMovie("Titanic", "James Cameron", 1997)
    MovieDAO ->> DatabaseConnection: INSERT INTO movies (title, director, year) VALUES (?, ?, ?)
    DatabaseConnection ->> MovieDAO: executeUpdate()
    User ->> MovieDAO: getAllMovies()
    MovieDAO ->> DatabaseConnection: SELECT *