איך עובדים ב JAVA עם DATABASE ?

  • פותח הנושא NORT
  • פורסם בתאריך

NORT

New member
איך עובדים ב JAVA עם DATABASE ?

אני כותב תוכנית שצריכה לישמור אוביקטים . אני יכול פשוט לישמור את זה בקובץ אבל אני רוצה לעסות את זה בצורה יעילה יותר , כמו למשל שמירה ע"י ACCESS או משהו דומה . מישהו מכיר דרך לעסות את זה ??
 

voguemaster

New member
איזו פלטפורמה ?

באופן עקרוני, תוריד ותתקין DB כלשהו (אני ממליץ על PostgreSQL מעכשיו והלאה
). אח"כ תוריד את הדרייבר המתאים בשבילו. הסבר: עבודה מול בסיסי נתונים בג'אווה מתבצעת ע"י API שנקרא JDBC. זה אפילו יותר מסתם API, זה למעשה סטנדרט של סאן שמגדיר את הצורה שבה תוכנית ג'אווה פונה לבסיס נתונים. ע"י כתיבת דרייבר JDBC מתאים (ע"י מי שכתב את ה-DB כמובן) אפשר לעבוד עם ג'אווה מול ה-DB הזה. כך יוצא שבעצם כל DB שיש לו דרייבר JDBC, אתה יכול לעבוד איתו בצורה קלה. ה-API נשאר זהה לא משנה על איזה DB אתה עובד. אם אתה עובד בלינוקס, תתקין PostgreSQL ואת הדרייבר שלו (יש כמה גרסאות של JDBC, תתקין את הדרייבר של JDBC2 לפחות עבור גרסת השרת שאתה מריץ). את אותו הדבר ניתן לעשות עם MySQL כמובן.. על חלונות הייתי ממליץ רק על MySQL. בכל אופן, אם הכל עובד כמו שצריך תוכל לפנות לבסיס נתונים ע"י שימוש במחלקות של java.sql או javax.sql . יש מגוון מדריכים על זה, אפילו באתרים של ה-DBים עצמם. ה-API ממש קל
 

NORT

New member
אין משהו ב JBUILDER8 שעוזר

לעסות את זה ללא הורדות נוספות ??
 

voguemaster

New member
לא שידוע לי...

תשמע, JBUILDER זו סביבת פיתוח, לא שרת DB. אם אתה רוצה לעבוד כמו שצריך מול בסיס נתונים, תתקין אחד ותתחיל להתנסות. אני ממליץ לך בחום רב להתנסות ב-JDBC, לדעתי כל מתכנת ג'אווה צריך להכיר את הסטנדרט הזה. מאוד חשוב!!! (וגם עושה את תפקידו מצוין! כל הכבוד לסאן על ה-API). אם תסתבך, אנחנו כאן
 
פרה-פרה...../images/Emo80.gif-../images/Emo80.gif...../images/Emo26.gif

אני במקומך הייתי מנסה קודם כל לעבוד עם ACCESS... רק כדי לחקור ולראות שאתה מבין... אתה תוכל די בקלות (ישירות דרך ה-ACCESS) לשנות את המבנה של ה-DB (את הטבלאות), להכניס נתונים וכו' - ואז לראות איך זה משפיע לך על התוכנית ב-Java. ככה תלמד קודם כל קצת JDBC, קצת SQL... לאט-לאט
אתה קודם צריך למצוא ב-control panel משהו כמו "ODBC" (אולי תחת administrative tools) - ולהגדיר שם את ה-DB שתיצור ב-ACCESS. ברגע שתיצור אותו שם - החיבור אליו מתוך Java הוא קלי-קלות...
משהו בסגנון:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:eek:dbc:my_db"); Statement sqlStatement = con.createStatement(); String sql = "SELECT * FROM my_table"; ResultSet results = sqlStatement.executeQuery(sql);​
כש-my_db הוא שם ה-DB כמו שהגדרת אותו ב-control panel my_table היא אחת הטבלאות ב-DB. על ResultSet תוכל לקרוא בתיעוד של Java. בהצלחה...
 

NORT

New member
טוב, אבל אני רוצה ליכתוב

ממש את כל האובייקט לתוך DB (כמובן שע"י סרבליזציה או משהו כזה) , האם זה אפשרי ?
 
למעלה