实现“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 *