
AS והשם שרוצים ללקוח.הטקסט המלא של הדקות הראשונות בהרצאה «שליפת כל המוצרים מתוך MySQL» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אחרי שהתחברנו ל-MySQL דרך הדל, אנחנו יכולים לסגור את הדל. אנחנו רוצים ללכת ולטפל ב-Business Logic, Products Logic.
כאן הפונקציה הזאת של ה-Get All Products Async פשוט פנתה לדל ואמרה לו תביא לי בבקשה את הפונקציה Get All Products Async, אבל אין לנו פונקציה כזאת בדל כמובן.
יש לנו רק פונקציה אחת שמוציאה לפועל כל שאילתה על MySQL. אוקיי, אז בואו נתקן את זה. אנחנו רוצים עכשיו בכל ה-Business Logic שלנו לטפל בפעילות העסקית שיש לנו. מה זאת אומרת הפעילות העסקית, הלוגיקה העסקית?
מהם הפעולות הלוגיות שקשורות ספציפית לאפליקציה הזאת? ומי שמתאר את הפעולות הלוגיות במערכת זה ה-Business Logic והוא עושה את זה.
בגישה למסד נתונים רלציוני, relational database, על ידי שאילתות SQL. אז השאילתות SQL נמצאות רק באזור הזה של ה-products logic. כל פונקציה תכיל את שאילתת ה-SQL שמתארת את הפעולה שלה, כל פונקציה, הכוונה, תכיל את שאילתת ה-SQL שמתארת את הפעולה שלה, ואנחנו נוציא את זה לפועל על ידי הדל.
אז בואו נבנה const sql ובואו נתחיל לשלוח את השאילתות. אז אנחנו רוצים קודם כל בסרטון הזה להביא את כל המוצרים. מה זה אומר תביא לי את כל המוצרים?
סלקט, ושימו לב שאני אוהב לכתוב את הפקודות של mysql, את הפקודות של, סליחה, של שפת sql באותיות גדולות, אבל זה לא נדרש, אתם יכולים לכתוב את הכל באותיות קטנות.
זה פשוט קצת יותר ברור לראות את זה מול העיניים. Select all from products. זה אומר, תביא לי את הכל. אוקיי, בואו ננסה להריץ את הפקודה הזאת.
אז איך אנחנו מריצים אותה? אנחנו נפטרים מזה, הולכים לדל ואומרים לו execute async at sql. הנה השאילתה, השאילתה הולכת להישלח לקובץ execute async, בואו נראה אותה, הנה היא פה, זאת הפונקציה, והיא תוציא את זה לפועל, כמובן היא תשתמש בפרומיס בשביל לדווח לנו או לא הצלחתי או כן הצלחתי, הנה הטבלה, קחו אותה בחזרה.
ואז אנחנו נחזיר את כל המוצרים as is לקונטרולר, קונטרולר מקבל אותם ושולח אותם כג'ייסון בחזרה ללקוח.
בסדר, בואו נבדוק את זה. איך אנחנו יכולים לבדוק את זה? כמובן על ידי פוסטמן, זאת השיטה הכי טובה להתחיל לבצע בדיקות. בואו ניגש ונחפש פרויקט פוסטמן, הנה הוא.
נריץ אותו ודרך פוסטמן אנחנו רוצים לבצע את אותה שאילתא. בואו ניתן לו רגע לרוץ, הנה הוא נפתח. ואנחנו רואים שיש לנו פה את כל הראוטס האלה שנשארו לנו מהדוגמאות הקודמות שעשינו, אז זה מעולה.
בואו ניקח את הראוט הזה של גט. אני רואה שכבר שכחתי לעצור ולהריץ שוב. הנה אנחנו מריצים שוב. כמובן אנחנו צריכים לארצור ולהריץ ויש לנו כאן את get all products מעולה בואו נבצע send ושימו לב מה אנחנו רואים אנחנו רואים שהוא פשוט הביא לנו את כל המידע כולו והמידע גם מוגדר באובייקטי json בול איך שהוא נמצא בדאטאבייס אז אנחנו כן רוצים את כל הרשומות כי אנחנו רוצים את כל המוצרים כולם הנה יש
לנו אפילו את המוצרים שהוספנו באחת באחד הסרטונים הקודמים שבו אנחנו הוספנו בsql כל מיני מוצרים בדאטאבייז. ומה שאנחנו רואים זה שיש כאן את השמות המקוריים של העמודות.
אוקיי, אנחנו יכולים להשאיר את זה, אבל מה שהייתי רוצה לעשות זה קודם כל לא להחזיר כרגע את כל העמודות, כי אנחנו בדוגמאות הקודמות לא התעסקנו עם כל העמודות, התעסקנו רק עם ארבע עמודות, וגם השמות האלה לא היו השמות שהתעסקנו איתם.
עכשיו, הרבה פעמים קורה שאתם רוצים לשנות את השמות שמופיעים בדאטאבייס. למה? כי אתם לא רוצים שהשמות המקוריים שקיימים בדאטאבייס יגיעו ללקוח בסכמה של הג'ייסון.
כי זה קצת אאוט סקיוריטי, זה אומר שהאקרים כבר יכולים לדעת מה השמות האמיתיים שקיימים לכם בדאטאבייס. זה יהיה טוב מבחינת סקיוריטי לעשות איזשהו צ'יינג' על השמות האלה.
אז בואו נראה איך אנחנו יכולים לעשות את שני הדברים האלה, גם לשנות את השמות וגם לא להחזיר בעצם את כל העמודות, כי אנחנו לא צריכים