Implémentation d'un objet d'accès aux données en Java
- Comprendre l’objet d’accès aux données en Java
- Connectez-vous au serveur MySQL en Java
- Implémentation de l’objet d’accès aux données dans la base de données MySQL 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 :
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.
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 :
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.
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:
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 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