Implémentation d'un objet d'accès aux données en Java

Sarwan Soomro 15 février 2024
  1. Comprendre l’objet d’accès aux données en Java
  2. Connectez-vous au serveur MySQL en Java
  3. Implémentation de l’objet d’accès aux données dans la base de données MySQL en Java
Implémentation d'un objet d'accès aux données en Java

Nous allons créer une nouvelle base de données mydb et une table products pour montrer une implémentation en temps réel de l’insertion de données à l’aide de DAO en Java.

Notre modèle DAO est capable d’utiliser les applications CRUD de manière dynamique. Il utilise le pilote JDBS de mysql-connector-java-8.0.22 pour la connexion à la base de données.

Il résume avec succès l’implémentation d’accès aux données sous-jacente de l’objet pour fournir un accès transparent aux données.

Comprendre l’objet d’accès aux données en Java

Nous utiliserons ce modèle pour implémenter notre interface avec DAO. Ce modèle est une représentation approximative d’un objet d’accès aux données Java personnalisé mais entièrement fonctionnel qui peut gérer des sources de données abstraites.

Supposons que vous souhaitiez modifier le fonctionnement de la base de données. Tout ce que vous avez à faire est de modifier la classe principale.

Dans ce cas, notre classe principale est définie comme la démo JDBC.

Modèle DAO :

Modèle DAO

Nous ne vous confondrons pas au début. Par conséquent, nous garderons aussi simple que nécessaire pour construire une logique non pas de copier-coller mais de créer vos interfaces.

Cela dit, il s’agit de notre classe product qui contient des valeurs de produit passées par un constructeur lancé dans la classe principale qui est une instance d’un objet de la fonction qui est addProduct dans cet exemple.

// Product class
class Product {
  int id;
  String name;
  // add more values
}

Et puis nous avons une interface qui utilise des modèles d’objets d’accès aux données pour gérer notre base de données. Gardons-le essentiel pour le moment.

Découvrez une fonction simple qui peut ajouter des produits à la table de la base de données.

public static void main(String[] args) {
  // Now let us insert new product
  // constructor PDAO class
  // objects
  ProDAO dao2 = new ProDAO(); // constructor
  Product pro = new Product(); // constructor
  // values to insert
  // dynamically modify values from here later
  pro.id = 3;
  pro.name = "Oppo LOL";
  // we have created a separate function for the db connection
  dao2.Dbconnect();
  // it is set to addProduct as of now, you can run CRUD directly from here
  dao2.addProduct(pro);
}

Il s’agit d’une démo typique du DAO que nous exécuterons dans la section du code d’implémentation.

Veuillez noter que nous allons créer une base de données dans MySQL, puis nous utiliserons le fichier jar du connecteur MySQL pour nous connecter au serveur SQL.

Noter
Vous aurez besoin d’un serveur MySQL pour implémenter ce code sur votre système.

Ne t’en fais pas! Parce que nous allons également vous montrer comment créer la base de données à l’aide de la CLI.

Si vous utilisez le système d’exploitation Windows :

créer une nouvelle base de données et une table

Noter
C’est une manière parfaite de commencer avec MySQL. Cela vous permettra de comprendre les requêtes structurelles telles qu’elles sont censées être comprises.

Cependant, vous pouvez utiliser des interfaces graphiques telles que MySQL Workbench, SQL Yog, phpMyAdmin pour créer votre base de données préférée.

Connectez-vous au serveur MySQL en Java

Pour garder les choses en perspective et éviter le code sale. Nous allons créer une fonction de base de données distincte.

// Database Connection will use jdbc driver from the mysql connector jar
public void Dbconnect() {
  try {
    Class.forName("com.mysql.cj.jdbc.Driver"); // Mysql Connector's JDBC driver is loaded
    // connection to mysql
    con = DriverManager.getConnection(
        "jdbc:mysql://localhost/mydb", "root", ""); // URL, database name after
    // localhost, user name,
    // password
  } catch (Exception ex) {
    System.out.println(ex);
  }
}

Vous pouvez utiliser cette connexion pour vos projets MySQL. Et n’oubliez pas que si vous utilisez une ancienne version de Java, veuillez utiliser le Class.forName("com.mysql.jdbc.Driver"); pour charger JDBC.

Implémentation de l’objet d’accès aux données dans la base de données MySQL en Java

Tout d’abord, cela aiderait à construire correctement le chemin pour éviter les exceptions et les avertissements lors de l’exécution.

Les erreurs fréquentes peuvent être évitées en cliquant droit sur votre projet Java, en construisant le chemin et en configurant les fichiers jar. Assurez-vous simplement que votre chemin de construction est comme dans l’image ci-dessous.

configuration du chemin de construction des fichiers jar

Si votre concept est clair, vous comprendrez l’implémentation DAO suivante de notre modèle. Néanmoins, nous avons commenté pour vous chaque élément du code.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

// This Data Access Object DAO is a dynamic way to handle database records.

// main class
class DAOexample {
  public static void main(String[] args) {
    // Now let us insert new product
    // constructor PDAO class
    // objects
    ProDAO dao2 = new ProDAO(); // constructor
    Product pro = new Product(); // constructor
    // values to insert
    // dynamically modify values from here later
    pro.id = 3;
    pro.name = "Oppo LOL";
    // we have created a separate function for the db connection
    dao2.Dbconnect();
    // it is set to addProduct as of now, you can run CRUD directly from here
    dao2.addProduct(pro);
  }
}

class ProDAO {
  Connection con = null;

  // Database Connection will use jdbc driver from the mysql connector jar
  public void Dbconnect() {
    try {
      Class.forName("com.mysql.cj.jdbc.Driver");
      // connection to mysql
      con = DriverManager.getConnection(
          "jdbc:mysql://localhost/mydb", "root", ""); // URL, database name after
      // localhost, user name,
      // password
    } catch (Exception ex) {
      System.out.println(ex);
    }
  }

  // We will use the insert operation in this function, its conductor is already
  // declared in the main class (DAO)
  public void addProduct(Product p) { // this function will insert values
    // insert query
    // using prepared statements
    String query2 = "insert into products values (?,?)";
    try {
      PreparedStatement pst;
      pst = con.prepareStatement(query2);
      pst.setInt(1, p.id);
      pst.setString(2, p.name); //
      pst.executeUpdate(); // executeUpdate is used for the insertion of the data
      System.out.println("Inserted!");
    } catch (Exception ex) {
    }
  }
}

// Product class
class Product {
  int id;
  String name;
  // add more values
}

Production:

insérer une nouvelle valeur à l’aide d’un objet d’accès aux données

Si vous avez encore des questions, nous fournissons le dossier zip complet de cette implémentation contenant les fichiers jar et tout ce dont vous avez besoin pour configurer votre premier DAO.

Sarwan Soomro avatar Sarwan Soomro avatar

Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.

LinkedIn

Article connexe - Java Object