


Comment développer un système de commande en ligne simple en utilisant MySQL et Java
Comment utiliser MySQL et Java pour développer un système de commande en ligne simple
Ces dernières années, avec le développement d'Internet, de plus en plus de restaurants ont commencé à se transformer vers le modèle de commande en ligne. Le système de commande en ligne peut non seulement améliorer l'efficacité du service du restaurant, mais également permettre aux clients de commander de la nourriture et de réaliser le paiement en ligne, la livraison à emporter et d'autres fonctions. Cet article explique comment utiliser MySQL et Java pour développer un système de commande en ligne simple répondant aux besoins des restaurants et des clients.
1. Conception de la base de données
Avant de développer le système de commande en ligne, vous devez d'abord concevoir la structure de la base de données. Ce qui suit est un exemple simplifié de conception de base de données :
- Table utilisateur (Utilisateur) : contient l'ID utilisateur, le nom d'utilisateur, le mot de passe et d'autres champs.
- Tableau des plats (Plat) : contient des champs tels que l'ID du plat, le nom du plat, le prix et la description.
- Tableau de commande (Commande) : comprend des champs tels que l'ID de commande, l'ID utilisateur, l'heure de la commande, le montant total, etc.
- Détail de la commande : contient l'ID détaillé de la commande, l'ID de la commande, l'ID du plat, la quantité et d'autres champs.
Ce qui précède est une conception de base de données simple qui peut être étendue en fonction des besoins réels.
2. Développement back-end Java
- Connexion à la base de données
L'utilisation du langage Java pour se connecter à la base de données MySQL nécessite l'introduction de packages de pilotes de base de données pertinents. Tout d'abord, ajoutez le package de pilotes MySQL au projet, puis établissez une connexion à la base de données dans le code. L'exemple de code est le suivant :
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DatabaseConnector { private static final String URL = "jdbc:mysql://localhost:3306/online_ordering_system"; private static final String USER = "root"; private static final String PASSWORD = "123456"; public static Connection getConnection() throws SQLException { Connection connection = DriverManager.getConnection(URL, USER, PASSWORD); return connection; } }
- Gestion des utilisateurs
La gestion des utilisateurs comprend l'enregistrement des utilisateurs, la connexion et d'autres fonctions. L'exemple de code est le suivant :
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class UserManager { public static boolean register(String username, String password) throws SQLException { Connection connection = DatabaseConnector.getConnection(); PreparedStatement statement = connection.prepareStatement("INSERT INTO User (username, password) VALUES (?, ?)"); statement.setString(1, username); statement.setString(2, password); int rows = statement.executeUpdate(); statement.close(); connection.close(); return rows > 0; } public static boolean login(String username, String password) throws SQLException { Connection connection = DatabaseConnector.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM User WHERE username = ? AND password = ?"); statement.setString(1, username); statement.setString(2, password); ResultSet resultSet = statement.executeQuery(); boolean result = resultSet.next(); statement.close(); connection.close(); return result; } }
- Gestion des plats
La gestion des plats comprend des fonctions telles que l'ajout de plats et leur interrogation. L'exemple de code est le suivant :
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class DishManager { public static boolean addDish(String dishName, double price, String description) throws SQLException { Connection connection = DatabaseConnector.getConnection(); PreparedStatement statement = connection.prepareStatement("INSERT INTO Dish (dish_name, price, description) VALUES (?, ?, ?)"); statement.setString(1, dishName); statement.setDouble(2, price); statement.setString(3, description); int rows = statement.executeUpdate(); statement.close(); connection.close(); return rows > 0; } public static List<Dish> getDishes() throws SQLException { Connection connection = DatabaseConnector.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM Dish"); ResultSet resultSet = statement.executeQuery(); List<Dish> dishes = new ArrayList<>(); while (resultSet.next()) { Dish dish = new Dish(); dish.setDishId(resultSet.getInt("dish_id")); dish.setDishName(resultSet.getString("dish_name")); dish.setPrice(resultSet.getDouble("price")); dish.setDescription(resultSet.getString("description")); dishes.add(dish); } statement.close(); connection.close(); return dishes; } }
- Gestion des commandes
La gestion des commandes comprend la création de commandes, la requête et d'autres fonctions. L'exemple de code est le suivant :
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; public class OrderManager { public static boolean createOrder(int userId, List<OrderDetail> orderDetails) throws SQLException { Connection connection = DatabaseConnector.getConnection(); PreparedStatement statement = connection.prepareStatement("INSERT INTO Order (user_id, order_time, total_amount) VALUES (?, ?, ?)"); statement.setInt(1, userId); statement.setTimestamp(2, new Timestamp(System.currentTimeMillis())); double totalAmount = 0; for (OrderDetail orderDetail : orderDetails) { totalAmount += orderDetail.getQuantity() * orderDetail.getDish().getPrice(); } statement.setDouble(3, totalAmount); int rows = statement.executeUpdate(); statement.close(); if (rows > 0) { // 获取刚插入的订单ID PreparedStatement getLastInsertIdStatement = connection.prepareStatement("SELECT LAST_INSERT_ID()"); ResultSet resultSet = getLastInsertIdStatement.executeQuery(); int orderId = 0; if (resultSet.next()) { orderId = resultSet.getInt(1); } // 插入订单明细 PreparedStatement insertOrderDetailStatement = connection.prepareStatement("INSERT INTO OrderDetail (order_id, dish_id, quantity) VALUES (?, ?, ?)"); for (OrderDetail orderDetail : orderDetails) { insertOrderDetailStatement.setInt(1, orderId); insertOrderDetailStatement.setInt(2, orderDetail.getDish().getDishId()); insertOrderDetailStatement.setInt(3, orderDetail.getQuantity()); insertOrderDetailStatement.addBatch(); } insertOrderDetailStatement.executeBatch(); insertOrderDetailStatement.close(); getLastInsertIdStatement.close(); } connection.close(); return rows > 0; } public static List<Order> getOrders(int userId) throws SQLException { Connection connection = DatabaseConnector.getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM Order WHERE user_id = ?"); statement.setInt(1, userId); ResultSet resultSet = statement.executeQuery(); List<Order> orders = new ArrayList<>(); while (resultSet.next()) { Order order = new Order(); order.setOrderId(resultSet.getInt("order_id")); order.setUserId(resultSet.getInt("user_id")); order.setOrderTime(resultSet.getTimestamp("order_time")); order.setTotalAmount(resultSet.getDouble("total_amount")); orders.add(order); } statement.close(); connection.close(); return orders; } }
Ce qui précède est un exemple simple de développement back-end Java, comprenant la gestion des utilisateurs, la gestion des plats, la gestion des commandes et d'autres fonctions.
3. Développement front-end
La partie développement front-end peut être développée en utilisant HTML, CSS, JavaScript et d'autres technologies connexes pour implémenter l'interface utilisateur et la logique d'interaction. Aucun exemple de code frontal spécifique n'est fourni ici. Il est recommandé d'utiliser des frameworks frontaux tels que Bootstrap pour un développement rapide.
4. Résumé
L'utilisation de MySQL et Java pour développer un système de commande en ligne simple peut améliorer l'expérience de commande des restaurants et des clients. En concevant rationnellement la structure de la base de données et en utilisant Java et MySQL pour le développement back-end, des fonctions telles que la gestion des utilisateurs, la gestion des plats et la gestion des commandes peuvent être réalisées. Dans le même temps, le développement front-end doit également prendre en compte la conception de l'interface utilisateur et la mise en œuvre d'une logique d'interaction.
J'espère que cet article pourra aider les lecteurs à comprendre comment utiliser MySQL et Java pour développer un système de commande en ligne simple, et fournit quelques exemples de code spécifiques pour référence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

L'un des changements majeurs introduits dans MySQL 8.4 (la dernière version LTS en 2024) est que le plugin « MySQL Native Password » n'est plus activé par défaut. De plus, MySQL 9.0 supprime complètement ce plugin. Ce changement affecte PHP et d'autres applications

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Java Made Simple : Guide du débutant sur la puissance de programmation Introduction Java est un langage de programmation puissant utilisé dans tout, des applications mobiles aux systèmes d'entreprise. Pour les débutants, la syntaxe de Java est simple et facile à comprendre, ce qui en fait un choix idéal pour apprendre la programmation. Syntaxe de base Java utilise un paradigme de programmation orienté objet basé sur les classes. Les classes sont des modèles qui organisent ensemble les données et les comportements associés. Voici un exemple simple de classe Java : publicclassPerson{privateStringname;privateintage;

Java est un langage de programmation populaire qui peut être appris aussi bien par les développeurs débutants que par les développeurs expérimentés. Ce didacticiel commence par les concepts de base et progresse vers des sujets avancés. Après avoir installé le kit de développement Java, vous pouvez vous entraîner à la programmation en créant un simple programme « Hello, World ! ». Une fois que vous avez compris le code, utilisez l'invite de commande pour compiler et exécuter le programme, et « Hello, World ! » s'affichera sur la console. L'apprentissage de Java commence votre parcours de programmation et, à mesure que votre maîtrise s'approfondit, vous pouvez créer des applications plus complexes.

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

Spring Boot simplifie la création d'applications Java robustes, évolutives et prêtes à la production, révolutionnant le développement de Java. Son approche "Convention sur la configuration", inhérente à l'écosystème de ressort, minimise la configuration manuelle, allo

Une pile est une structure de données qui suit le principe LIFO (dernier dans, premier sorti). En d'autres termes, le dernier élément que nous ajoutons à une pile est le premier à être supprimé. Lorsque nous ajoutons (ou poussons) des éléments à une pile, ils sont placés sur le dessus; c'est-à-dire surtout

Ce tutoriel vous guidera comment trier les éléments de pile dans l'ordre croissant à l'aide de Java. Les piles sont les structures de données de base en informatique, en suivant le dernier principe de la première place (LIFO). Nous décomposons une méthode simple et efficace qui utilise une pile temporaire supplémentaire, fournit des instructions détaillées étape par étape et comprend un exemple de code complet. Ce tutoriel est idéal pour ceux qui souhaitent améliorer leur compréhension des opérations de pile et améliorer leurs compétences en programmation Java. Triez la pile dans l'ordre croissant en utilisant Java La pile est comme une pile de livres, vous ne pouvez prendre le haut. Autrement dit, la pile est stockée en mode First-Out (LIFO). Le dernier élément ajouté est le premier élément supprimé. Ce qui suit est le tri des éléments de pile à l'aide de la pile auxiliaire
