كيفاش تسجل وتعدل وتمسح من قاعدة البيانات بإستعمال Java و Mysql الجزء الأول


فهاد المشروع الجديد لي غادي تعلم فيه كيفاش تسجل وتعدل وتمسح من قاعدة البيانات بإستعمال Java و Mysql غادي نقادو واحد ل Application فجافا لي كتسجل المستخدمين فقاعدة البيانات mysql من بعد كتمكنك من تعديل بيانات أو حدف مستخدم اختاريتيه مشروع بسيط للمبتدئين.

نظرة سريعة بالفيديو

- إنشاء قاعدة البيانات

أول حاجة كتزيد قاعدة بيانات جديدة ف phpmyadmin سميها لي بغيتي من بعد كتزيد فيها جدول جديد سميه employes هاد الجدول هو لي غادي يمكنا باش نخزنو المعلومات لي غادي ندخلو فقاعدة البيانات الكود ديال الجدول هو :

                                -- Structure de la table `employes`
--

CREATE TABLE IF NOT EXISTS `employes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nom` varchar(255) DEFAULT NULL,
  `prenom` varchar(255) NOT NULL,
  `sexe` varchar(255) NOT NULL,
  `poste` varchar(255) NOT NULL,
  `dateRec` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
                            

- الملف Database.java

من بعد كتمشي ل IDE لي كتخدم بها انا خدمت ب NETBEANS من بعد كتزيد مشروع جديد سميه employes من بعد فsources packages زيد package جديد سميه model من بعد زيد فيه ملف جديد عبارة عن class سميها Database.java فيها غادي يكون الكود لي غادي يمكنا باش نتصلو بقاعدة البيانات فكاين ل fonction openConnection لي كتمكن من ربط الإتصال ثم كاين fonction closeConnection لي كتنهي الإتصال بقاعدة البيانات الكود ديال الملف هو :

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

/**
 *
 * @author Imad
 */
public class Database {
    static Connection con;
    public void openConnection(){
        try{  
            Class.forName("com.mysql.jdbc.Driver");  
            con = DriverManager.getConnection(  
            "jdbc:mysql://localhost:3306/data","root","");  
        }catch(Exception e){ System.out.println(e);}  
    }  
    public void closeConnection() throws SQLException{
        this.con.close();
    }
}

                            

- الملف Employe.java

منبعد فنفس المجلد model كتزيد ملف جديد عبارة عن java class سميه Employe هاد الملف هو لي غادي تكون فيه المعلومات الخاصة بمستخدم الإسم الوظيفة وغيرها من المعلومات لي غادي يمكلنا نعدلها ونسترجوها بل getters و setters الكود ديال الملف هو :

                                /*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package employes.model;

/**
 *
 * @author Imad
 */
public class Employe {
    private String nom;
    private String prenom;
    private String poste;
    private String sexe;
    private String dateRec;
    private int id;
    public Employe(){
        
    }
    public Employe(String nom, String prenom, String poste, String sexe, String dateRec) {
        this.nom = nom;
        this.prenom = prenom;
        this.poste = poste;
        this.sexe = sexe;
        this.dateRec = dateRec;
    }
    public Employe(int id,String nom, String prenom, String poste, String sexe, String dateRec) {
        this.nom = nom;
        this.prenom = prenom;
        this.poste = poste;
        this.sexe = sexe;
        this.dateRec = dateRec;
        this.id = id;
    }

    public int getId() {
        return id;
    }
    
    public String getNom() {
        return nom;
    }

    public String getPrenom() {
        return prenom;
    }

    public String getPoste() {
        return poste;
    }

    public String getGender() {
        return sexe;
    }

    public String getDateRec() {
        return dateRec;
    }

    public void setNom(String nom) {
        this.nom = nom;
    }

    public void setPrenom(String prenom) {
        this.prenom = prenom;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setPoste(String poste) {
        this.poste = poste;
    }

    public void setGender(String sexe) {
        this.sexe = sexe;
    }
    public void setDateRec(String dateRec) {
        this.dateRec = dateRec;
    }
    public String toString(){
        return "Id :" + id + "\n" + "Nom :" + nom + "\n" + "Prénom :" + prenom + "\n" + "Poste :" + poste + "\n" + "Sexe :" + sexe + "\n" +"Date recrute :" + dateRec + "\n"   ;
    }
}

                            

- الملف Controller.java

منبعد فنفس المجلد model كتزيد ملف جديد عبارة عن java class سميه Controller ولي غادي يكونو فيه لfonctions لي غادي يمكننا من القيام بالعمليات ديال الإضافة البحث التعديل والحدف فأولا كاين Insert لي كتمكن من استقبال مستخدم من بعد كتفتح الإتصال مع قاعدة البيانات كتنفد requete ديال الإضافة ثم كاين Update لي من بعدمكتستقبل المستخدم كتعدل المعلومات ديالو بالإعتماد على لid ثم كاين delete لي كتحدف بالإعتماد على لid ثم كاين findById لي كترجع المعلومات ديال مستخدم بحثنا عليه ثم كاين fillTable لي كتبحث على المستخدمين لي عندنا فقاعدة البيانات وكتزيدهم فmodel ولي غادي نزيدوه فواحد الجدول من بعد مستخدم الكود ديال الملف هو :

                                    /*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package employes.model;
import Forms.EmpList;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Imad
 */
public class Controller {
  private Database db = new Database();
  private DefaultTableModel model;
  public void Insert(Employe emp) throws SQLException{
        db.openConnection();
        PreparedStatement stmt= db.con.prepareStatement("insert into employes (nom,prenom,sexe,poste,dateRec) values(?,?,?,?,?)"); 
        stmt.setString(1,emp.getNom());//1 specifies the first parameter in the query 
        stmt.setString(2,emp.getPrenom()); 
        stmt.setString(3,emp.getGender());  
        stmt.setString(4,emp.getPoste());  
        stmt.setString(5,emp.getDateRec());  
        int i=stmt.executeUpdate();  
        System.out.println(i+" records inserted");  
        db.closeConnection();
  }
  public void Update(Employe emp) throws SQLException{
        db.openConnection();
        PreparedStatement stmt= db.con.prepareStatement("UPDATE employes set nom = ?,prenom = ?,sexe = ?,poste = ?,dateRec = ? where id = ?"); 
        stmt.setString(1,emp.getNom());//1 specifies the first parameter in the query 
        stmt.setString(2,emp.getPrenom()); 
        stmt.setString(3,emp.getGender());  
        stmt.setString(4,emp.getPoste());  
        stmt.setString(5,emp.getDateRec());  
        stmt.setInt(6,emp.getId());  
        int i=stmt.executeUpdate();  
        System.out.println(i+" records updated");  
        db.closeConnection();
  }
  public void delete(int id) throws SQLException{
      db.openConnection();
      PreparedStatement stmt = db.con.prepareStatement("delete from employes where id ="+id);
      int i=stmt.executeUpdate();  
      System.out.println(i+" records deleted");  
      db.closeConnection();
  }
  public Employe findById(int id) throws SQLException{
      Employe emp = null;
      db.openConnection();
      Statement stmt = Database.con.createStatement();
      ResultSet rs = stmt.executeQuery("select * from employes where id ="+id); 
      if(rs.next()) { 
         emp = new Employe(rs.getInt("id"),rs.getString("nom"),rs.getString("prenom"),rs.getString("sexe"),rs.getString("poste"),rs.getString("dateRec"));
         //System.out.println(emp.toString());
      }
      db.closeConnection();
      //System.out.println(emp.toString());
      return emp;
  }
  public DefaultTableModel fillTable() throws SQLException{
      db.openConnection();
      Statement stmt = Database.con.createStatement();
      ResultSet rs = stmt.executeQuery("select * from employes");
      Object[] columns = new Object[]{"Id","Nom","Prénom","Sexe","Poste","Date Rec"};
      model = new DefaultTableModel(columns, 0);
      while(rs.next()){
        Object[] objects = new Object[6];
        for(int i=0;i<6;i++){
            objects[i]=rs.getObject(i+1);
            //System.out.println(objects[i]);
        }
        model.addRow(objects);
      }
      db.closeConnection();
      return model;
  }
}

                                


إشترك في قناتنا على اليوتيوب

بحث في الموقع


إشترك للتوصل بالجديد