السلام عليكم ورحمة الله
منذ فترا كنت اتخبط ببعضي بموضوع الداتا بيس والاتصال بها وانشاء قواعد بيانات من خلال الجافا
انا املك فكرة كبيرة وكبيرة جدا عن هذا الموضوع لاني قمت بانشاء مشروع جدا ضخم اعتماده على mysql والPHP
وهوا عبارة عن دفع عبر موقع الكتروني ..لكني ضنيت ان موضوع mysql بالجافا بعيد كل البعد عن الفكرا ..لكن بعد تمحص وتفحص ومجهود من بعض الاخوى بالمنتدا توصلت الى هذا الشرح البسيط
بالبداية انا لا احب التعقيد لنسير على بركة الله ولأضع لكم بعض المفاهيم والاشياء التي نحتاجها
AppServ Open Project - 2.5.8 for Windows
هذا البرنامج مجاني ومطروح على الانترنت وعند تحسن وضع النت عندي سارفع لكم هذا البرنامج على رابط او تستطيعون تحميله من اي اصدار مطروح
هذا البرنامج كما هوا معروف عنه تشكيل قواعد البيانات mysql بالاضافة الى الاتصال عبر القواعد من لغة PHP
على فكرا المشروع الذي ذكرته كان كل الاعتماد عليه ....
ما يهمنا من هذا البرنامج هوا انه يحوي بيئة mysql
وكنا نعرف ان عملية فتحه من خلال الرابط
بالعادة وقت التنصيب للبرنامج يطلب منا وضع اسم مستخدم وهوا ياخذه افتراضي root ونضع كلمة مرور معينة ولتكن "1" ..لا يهم
الملفات الموجودة ضمن البرنامج
بالبداية يجب تجهيز driver jdbc
لضمان عملية الاتصال بشكل صحيح تستطيع تحميلها
http://dev.mysql.com/downloads/connector/j/5.1.html
من ثم فك الضغط عنها ووضع ملفاتها بالمسار التالي
مع العلم انه من دون هذه الحزمة لن يتم الاتصال
نأتي الان الى صلب الموضوع
في أي عملية اتصال لا بد من وجود هدف حتى يتم الاتصال والذي يأخذ من هنا بالURL البروتوكول العام
بالاضافة الى وجود بعض السماحيات user name && password
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class CreateDatabase {
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url = "jdbc:mysql://localhost";
connection = DriverManager.getConnection(url, "root", "1");
statement = connection.createStatement();
String shadoSQL = "CREATE DATABASE shado";
statement.executeUpdate(shadoSQL);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
} // nothing we can do
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
} // nothing we can do
}
}
}
}
import java.sql.Connection;
الكود السابق يقوم بانشاء قاعدة بيانات باسم shado ضمن مجلد mysql ____data_____shado
import java.sql.Statement;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MainClass {
private static final String EMPLOYEE_TABLE = "create table MyEmployees3 ( "
+ " id INT PRIMARY KEY, firstName VARCHAR(20), lastName VARCHAR(20), "
+ " title VARCHAR(20), salary INT )";
public static Connection getConnection() throws Exception {
String driver = "org.gjt.mm.mysql.Driver";
String url = "jdbc:mysql://localhost/shado";
String username = "root";
String password = "1";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}
public static void main(String args[]) {
Connection conn = null;
Statement stmt = null;
try {
conn = getConnection();
stmt = conn.createStatement();
stmt.executeUpdate(EMPLOYEE_TABLE);
stmt.executeUpdate("insert into MyEmployees3(id, firstName) values(100, 'A')");
stmt.executeUpdate("insert into MyEmployees3(id, firstName) values(200, 'B')");
System.out.println("CreateEmployeeTableMySQL: main(): table created.");
} catch (ClassNotFoundException e) {
System.out.println("error: failed to load MySQL driver.");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("error: failed to create a connection object.");
e.printStackTrace();
} catch (Exception e) {
System.out.println("other error:");
e.printStackTrace();
} finally {
try {
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
import java.sql.Connection;
اما الكود السابق فيقوم بانشاء جدول باسم myemployees3 في داخل db shado
يصبح كم تلاحضون ...
الان نتاكد من موضوع التشكيل لقاعدة البيانات والجداول عبر برنامج الاباتشي
بالبداية نلاحظ وجود قاعدة البيانات التي شكلناها باسم shado
ثم نلاحظ وجود الجدول myemployees3وما يحويه من حقول حسب الخصائص الممررا له
هذا ما قد استطيع تقديمه في هذا الموضوع حصريا ...لاني ما زلت على ابوابه اي استفسار انا في الخدمة
شكر خاص للأخ وجدي :wub:
بالتوفيق
الله معكم..