© Keren Kalif JDBC קרן כליף.

Slides:



Advertisements
Similar presentations
ממיבחניםC שאלות ++.
Advertisements

מבוא למדעי המחשב לתעשייה וניהול
בתרגול הקודם הורשה: –ניתן להרחיב רק מחלקה אחת –כל מה שלא private – עובר בהורשה –המילה השמורה super –יצירת היררכיה –Object היא שורש ההיררכיה –דריסה אופרטור.
קורס Java מתקדם Design Patterns
©Silberschatz, Korth and Sudarshan4.1Database System Concepts סכימה לדוגמא.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
1 JDBC Java Database Connectivity. 2 c.pdf
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1 ואפליקציות ל- Windows Phone 8 Control (Part II)
תכנות מכוון עצמים ושפת ++C וויסאם חלילי. TODAY TOPICS: 1. Function Overloading & Default Parameters 2. Arguments By Reference 3. Multiple #include’s 4.
JDBC Part II CS 124. More about JDBC Types Statement versus PreparedStatement Timeout NULL values Meta-data close() methods Exceptions Transactions JDBC.
מבנים קרן כליף. ביחידה זו נלמד :  מהו מבנה (struct)  איתחול מבנה  השמת מבנים  השוואת מבנים  העברת מבנה לפונקציה  מבנה בתוך מבנה  מערך של מבנים.
1 JDBC – Java Database Connectivity CS , Spring 2010.
A New Algorithm for the Extraction of Non-contiguous Code
תרגול 7: מנשקים, פולימורפיזם ועוד
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Programming Arrays.
Web DevelopmEnt Bootstrap
Object Oriented Programming
מבוא למדעי המחשב לתעשייה וניהול
JDBC – Java Database Connectivity
Tirgul 12 Trees 1.
Object Oriented Programming
Computer Architecture and Assembly Language
הרצאה 10 פונקציות עם מספר משתנה של פרמטרים
תרגול 7: מנשקים, פולימורפיזם ועוד
© Keren Kalif JSF + Facelets קרן כליף.
תוכנה 1 תרגול 13 – סיכום.
ניתוח זמן ריצה (על קצה המזלג)
תוכנה 1 תרגול 13 – סיכום.
מצביעים קרן כליף.
SQL בסיסי – הגדרה אינדוקטיבית
תכנות מכוון עצמים ושפת JAVA
Static and enum קרן כליף.
תכנות מכוון עצמים ושפת JAVA
עבודה עם נתונים באמצעות ADO.NET
תכנות מכוון עצמים בשפת JAVA
ניתוח זמן ריצה (על קצה המזלג)
ממשקים - interfaces איך לאפשר "הורשה מרובה".
© Keren Kalif Servlet קרן כליף.
Marina Kogan Sadetsky –
ניתוח זמן ריצה (על קצה המזלג)
תרגול 11 NP complete.
מסדי נתונים מסד נתונים הינו אוסף של טבלאות המכיל לפחות טבלה אחת. כל טבלה הינה אוסף של רשומות (לפחות רשומה בודדת) וכל רשומה מכילה אוסף של שדות ולבסוף.
ניתוח מערכות מידע תכנות ב C#
תכנות מכוון עצמים ושפת JAVA
תכנות מכוון עצמים ושפת JAVA
סוגי משתנים קרן כליף.
מבחן t למדגם יחיד.
תזכורת על מה דיברנו שיעור שעבר? בנינו אתר אינטרנט עם כותרות
מבוא לתכנות מונחה עצמים Object Oriented Programming
עבודה מול שרת המצגות – Win XP
Shell Scripts בסביבת UNIX
תוכנה 1 תרגול 13 – סיכום.
תכנות מכוון עצמים ו- C++ יחידה 02 העמסת פונקציות, ערכי ברירת מחדל, enum, קימפול מותנה קרן כליף.
תוכנה 1 תרגול 13 – סיכום.
טבלאות מדומות (Views).
איתור נתונים מתקדם, בעזרת vlookup וחברים
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Computer Architecture and Assembly Language
פולימורפיזם מתקדם ממשקים בC# עריכה ועיצוב: קרן הרדי
Presentation transcript:

© Keren Kalif JDBC קרן כליף

ביחידה זו נלמד: עבודה עם סביבת העבודה MySql התחברות ל- MySql מתוך קוד Java הרצת שאילתות בסיסיות עבודה עם PreparedStatement הצגת תוצאות השאילות ב- gui

התקנת סביבת העבודה MySql כדי לעבוד עם MySql יש להתקין XAMPP ולדאוג שבבחירת הרכיבים בהתקנה יהיה את MySql לאחר ההתקנה, יש לוודא כי ה- service של MySql במצב Running: יתכן וה- service של ה- .NET רץ ותופס את הפורט: 1- ניתן לעצור אותו באמצעות הפקודה: net stop w3svc 2- לשנות את הפורט שה- XAMPP מנסה להתחבר ל- SQL. הוראות בלינק: http://mambycamara.wordpress.com/2011/01/13/drupal-7-windows-7-xampp-1-7/

עבודה עם MySql כדי להיכנס לכלי: http://localhost/phpmyadmin/ לצורך הדוגמא: נייצר DB הנקרא survivors נייצר בו טבלה הנקראית tribes לטבלה זו נגדיר 2 שדות: id שיהיה INT, Primary Key ו- Auto Increment Name שיהיה VARCHAR באורך 30

התחברות ל- MySql מתוך ה- JAVA טעינת הדרייבר של מנהל ה- JDBC, בדוגמא זו של MySql הגדרת מיקום ה- DB ושמו. יכול כמובן להיות על מחשב מרוחק. הרצת שאילתא והצגת התוצאות סגירת ה- connection

התחברות ל- MySql מתוך ה- Java כדי שהתוכנית תוכל לטעון את הדרייבר של מנהל ה- JDBC, יש להוסיף את ה- JAR הבא לפרוייקט:

את סגירת ה- connection נעדיף לשים ב- finally דוגמא לשאילתת INSERT את סגירת ה- connection נעדיף לשים ב- finally

SQLException SQLException הינה למעשה אוסף של חריגות, ולכן:

יש לשחרר את כל המשאבים הבאים, וכמובן עדיף ב- finally שחרור כל משאבים יש לשחרר את כל המשאבים הבאים, וכמובן עדיף ב- finally

ארכיטקטורת העבודה מול JDBC התמונה לקוחה מ: http://www.roseindia.net/jdbc/understanding-the-jdbc- architect.shtml קוד ה- JAVA טוען את הדרייבר המתאים באמצעות ה- JdbcManager הדרייבר הוא זה המתקשר מול ה- DB המתאים דרך הרשת. הדרייבר הוא מחלקה של של Java

טעינת הדרייבר

פקודות להרצת שאילתות מול ה- DB executeQuery – מחזירה ResultSet עבור שאילתת SELECT executeUpdate – מריצה שאילתות שמעדכנות את בסיס הנתונים. מחזירה את כמות השורות שהושפעו מהפעולה execute – מריצה כל סוג של שאילתא TRUE אם תוצר השאילתא הוא ResultSet ו- FALSE אחרת הרצת מתודה שאינה תואמת את סוג השאילתא תגרור תעופה

תזרק SQLException אם לא תתקבל תשובה בזמן המבוקש. TimeOut תזרק SQLException אם לא תתקבל תשובה בזמן המבוקש. הפרמטר הוא בשניות.

Prepared Statement ראינו הגדרת שאילתות באמצעות אובייקט Statement אשר משתמש במחרוזת כייצוג לשאילתא עם ערכים באופן פעולה זה ה- DB בונה את השאילתא כל פעם בזמן ריצה ומריץ ניתן לעבוד גם עם PreparedStatement ובמקרה זה יש אופטימיזציה המבוצעת בשלב ה- PreCompile ולכן יותר יעילה במקרים בהם מריצים את אותה שאילתא כמה פעמים PreparedStatement יורשת מ- Statement ולכן רק אופן שליחת הפרמטרים לשאילתא שונה, ההרצה זהה

דוגמא לשימוש ב- PreparedStatement שותלים את הפרמטרים באמצעות שיטות. כלומר במקום כל '?' בשאילתא תהייה הצבה של ערך.

שדה מסוג תאריך java.sql.Date  year, month, day java.sql.Time  hours, minutes, seconds java.sql.Timestamp  year, month, day, hours, minutes, seconds, nanoseconds

דוגמא להכנסת רשומה עם תאריך

קישור ResultSet לטבלה הדוגמא fillTableFromDb שבקובץ הדוגמאות לשים לב למחלקה QueryTableModel היורשת מ- AbstractTableModel מחלקה יעודית לעבודה מול ה- DB

ביחידה זו למדנו: עבודה עם סביבת העבודה MySql התחברות ל- MySql מתוך קוד Java הרצת שאילתות בסיסיות עבודה עם PreparedStatement הצגת תוצאות השאילות ב- gui