السلام عليكــم ورحمـة الله وبركاتــه
أردت من هذا الدرس أن أوضح معلومات عن كيفية تعامل مع قاعدة معطيات mysql
بسم الله
أول شئ نحتاجه لربط جافا مع mysql لمكتبة أسمها mysql-connector-java
رابط تحميل http://dev.mysql.com/downloads/connector/j/5.0.html
بعد تحميل فك ضغظ البرنامج فيخرج لك ملف أسمه mysql-connector-java-5.0.8
أدخل للملف لتجد بعدها نسخة jar للمكتبة أسمها mysql-connector-java-5.0.8-bin
قم بعمل نسخ لها وضعها في ملف C:\Program Files\Java\jdk1.6.0\jre\lib\ext
و يتوقف هذا حسب كل مستعمل و حاسوبه
الأن أكتملنا من الشق الفيزيائي لربط
ندخل لشق البرمجي
أود أن أنوه على شيئ يجب أن تكون مثبث mysql لكي تتعامل معه
تستطيع تحميل من هذا الموقع http://dev.mysql.com/downloads/
و تقوم بي ثتبيث النسخة عند الثثبيث تذكر الرقم السري و اسم المستعمل لأننا نحتاجهم في عملنا فيما بعد
الأن نصمم كلاس إتصال بقاعدة البايانات و كود هاهوا
import java.sql.*;
import java.util.Properties.*;
import javax.swing.*;
import java.util.*;
public class connect_to_db
{
Properties props;
Connection connection;
Statement statement;
PreparedStatement ps;
public connect_to_db()
{
props = new Properties();
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Good arabteam");
try
{
props.put("user", "root");// إسم المستعمل
props.put("password", "*******");//ضع الرقم السري للخادم mysql
connection = DriverManager.getConnection("jdbc:mysql://localhost/ecole?useUnicode=true&characterEncoding=utf8",props);
System.out.println("java connecté a data base mysql");
statements();
}
catch(SQLException e)
{
System.out.println("erreure connexion");
JOptionPane.showMessageDialog(null, "Informmation connection base de donnée\nErreur connaction a base de donnée \n", "connact data base",-1);
}
}
catch (Exception E)
{
System.out.println("JDBC Driver error");
JOptionPane.showMessageDialog(null, "Informmation connection base de donnée\nErreur connaction a driver jdbc \n", "connact data base",-1);
}
}
public void statements(){
try{
statement=connection.createStatement();
}
catch (SQLException actionException){
System.out.println("probleme statement");
}
}
}ضع هذه الكلاس في برنامجك
وقم بتغير إسم القاعدة البيانات حسب إسم قاعدتك مثلا إسم قاعدة البيانات بتاعي هي ecole
connection = DriverManager.getConnection("jdbc:mysql://localhost/ecole?useUnicode=true&characterEncoding=utf8",props);وبهذا نكون قد عملنا كلاس إتصال
نبدا الأن في عمليات المختلفة على قاعدة المعطيات
نبدأ أولا بي إدخال و هي عملية الأساسية
أول شئ نقوم به هو إنشاء أوبجكت على connect_to_db
وبعد ذلك إنشاء متغير من نوع string نحط عليه عملية إدخال
وكما ترى أنا أقوم بإستعانة المتغيرات من jtextfield
أدخال pn.gettext and rn.gettext هما عبارة عن إدخالان من نوع رقمي لذا نزعت منهم إقتباس
إدخال fn.gettext and hs.gettext هما عبارة عن إدخلان من نوع حرفي لذا يجب وضع إقتباس
String insertSql;
int on;
connect_to_db te=new connect_to_db();
try
{
insertSql = "INSERT INTO student VALUES (" +rn.getText() + ",'" + fn.getText()+ "'," + pn.getText () +",'" + hs.getText () +"')";
on = te.statement.executeUpdate(insertSql );
System.out.println("java insére donneés table dans mysql");
JOptionPane.showMessageDialog( null, "fichie enregistré dand base de donnée!","enregistrée des donnée",1);
}
catch (SQLException actionException)
{
System.out.println("java ne insére pas donneés table dans mysql");
JOptionPane.showMessageDialog(null, "error d'entreé des donneé ", "errore",0);
}
}ونأني حاليا إلى الأستعلام تقريبا نفس الشئ
try
{
connect_to_db te=new connect_to_db();
ResultSet rs = te.statement.executeQuery("select rn,fn,n,sex from student");
while(rs.next())
{
String n = rs.getString("rn");
String a = rs.getString("fn");
String p = rs.getString("n");
String s = rs.getString("sex");
}
}
catch(SQLException actionException){
JOptionPane.showMessageDialog(null, "error d'requte resultat ", "errore",0);
}و الأن إلى عملية التحديث
connect_to_db te=new connect_to_db();
try
{
nsertSql = "update student set fn='" + fon.getText() + "',pn=" + pon.getText () +",hs='" + hos.getText () +"' where rn=" + ron.getText() + ";";
on = te.statement.executeUpdate(insertSql );
System.out.println("java insére donneés table dans mysql");
JOptionPane.showMessageDialog( null, "Save Success!","Save the Data",1);
}
catch (SQLException actionException)
{
System.out.println("java ne insére pas donneés table dans mysql");
JOptionPane.showMessageDialog(null, "error d'entreé des donneé ", "errore",0);
}والأن إلى عملية الحذف
String sql;
int on;
try{
connect_to_db te=new connect_to_db();
Sql = "delete from student where rn=" + sel_tab + ";";
on = te.statement.executeUpdate(Sql );
dtm.removeRow( sel_tab );
}
catch(SQLException actionException){
JOptionPane.showMessageDialog(null, "Error The Delete ", "Errore",0);
}أنتهى الدرس الأول و الدرس القادم الأخير سيكون حول بعض الأمثلة الوقعية لأستخدام القاعدة المعطيات mysql
بصراحة الأمثلة موجودة و لكن وقت فطور لحق
وصحا فطوركم
