כיצד להתחבר למסד נתונים של MySQL באמצעות Java

כיצד להתחבר למסד נתונים של MySQL באמצעות Java

Java מספק JDBC (קישוריות Java DataBase) כחלק מ- Java SDK (ערכת פיתוח תוכנה). משתמש בזה אֵשׁ , קל מאוד להתחבר למסד נתונים יחסי ולבצע פעולות נפוצות כגון שאילתות, הכנסת, עדכון ומחיקת רשומות.





בעוד ממשק ה- API של JDBC כלול בג'אווה, חיבור למסד נתונים מסוים כגון MySQL או SQL Server דורש רכיב נוסף המכונה מנהל ההתקן של מסד הנתונים. מנהל התקן זה הוא רכיב תוכנה המתרגם את שיחות JDBC הליבה לפורמט המובן מאותו מסד נתונים.





כיצד להתקין osx מ- usb

במאמר זה, הבה נבחן את פרטי החיבור למסד נתונים של MySQL וכיצד לבצע מספר שאילתות באמצעותו.





מנהל התקן מסד הנתונים MySQL

כפי שהוסבר לעיל, כדי להתחבר למסד נתונים של MySQL, אתה צריך את מנהל ההתקן JDBC עבור MySQL. זה נקרא מנהל ההתקן Connector/J וניתן להוריד אותו מ- האתר MySQL כאן.

לאחר הורדת קובץ ה- ZIP (או TAR.GZ), חלץ את הארכיון והעתק את קובץ JAR mysql-connector-java-bin.jar למיקום מתאים. קובץ זה נדרש להפעלת כל קוד שמשתמש במנהל ההתקן JSBC MySQL.



יצירת מסד נתונים לדוגמה

בהנחה שהורדת את מסד הנתונים MySQL ו- להגדיר את זה כמו שצריך כאשר יש לך גישה אליו, תן לנו ליצור מסד נתונים לדוגמה כדי שנוכל להשתמש בו לחיבור וביצוע שאילתות.

התחבר למסד הנתונים באמצעות לקוח לבחירתך והפעל את המשפטים הבאים ליצירת מסד נתונים לדוגמה.





create database sample;

אנו זקוקים גם לשם משתמש וסיסמה בכדי שנוכל להתחבר למסד הנתונים (אלא אם כן אתה רוצה להתחבר כמנהל המערכת, וזה בדרך כלל רעיון גרוע).

להלן יוצר משתמש בשם משתמש בוחן מי יתחבר למסד הנתונים MySQL מאותה מחשב שבו הוא פועל (מסומן על ידי מארח מקומי ), באמצעות הסיסמה securepwd .





create user 'testuser'@'localhost' identified by 'securepwd';

אם אתה מתחבר למסד נתונים הפועל במחשב אחר (בשם remotemc ), עליך להשתמש בדברים הבאים ( remotemc יכול להיות שם מארח או כתובת IP):

create user 'testuser'@'remotemc' identified by 'securepwd';

כעת, לאחר שנוצר שם המשתמש והסיסמה, עלינו להעניק גישה למסד הנתונים לדוגמה שנוצר בעבר.

grant all on sample.* to 'testuser'@'localhost';

או, אם מסד הנתונים מרוחק:

grant all on sample.* to 'testuser'@'remotemc';

כעת עליך לוודא שאתה יכול להתחבר למסד הנתונים כמשתמש שיצרת זה עתה עם אותה סיסמה. תוכל גם להריץ את הפקודות הבאות לאחר החיבור, כדי לוודא שההרשאות כולן נכונות.

create table joe(id int primary key auto_increment, name varchar(25));
drop table joe;

הגדר נתיב Class Java

הבה נכנס כעת לפרטי אופן החיבור ל- MySQL מ- Java. השלב הראשון הוא טעינת מנהל ההתקן של מסד הנתונים. זה נעשה על ידי הפעלת הדברים הבאים במיקום מתאים.

כיצד להוסיף את לוח השיעורים ליומן Google
Class.forName('com.mysql.jdbc.Driver');

הקוד יכול לזרוק חריג, כך שתוכל לתפוס אותו אם בכוונתך להתמודד איתו (כגון עיצוב הודעת השגיאה עבור ממשק משתמש).

try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
// use the exception here
}

מקובל מאוד להפעיל קוד זה בבלוק סטטי בכיתה כך שהתוכנית נכשלת מיד אם לא ניתן לטעון את מנהל ההתקן.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
}

כמובן, כדי להצליח למצוא את מנהל ההתקן, יש להפעיל את התוכנית עם JAR הנהג (הורדה וחילוץ למעלה) כלול בנתיב המחלקה כדלקמן.

java -cp mysql-connector-java-bin.jar: ...

התחברות ל- MySQL מ- Java

כעת, לאחר שפרקנו את הפרטים של טעינת מנהל התקן MySQL מג'אווה, הרשה לנו להתחבר למסד הנתונים. אחת הדרכים ליצור חיבור למסד נתונים היא להשתמש ב- DriverManager .

String jdbcUrl = ...;
Connection con = DriverManager.getConnection(jdbcUrl);

ומהו ה jdbcUrl ? הוא מציין את פרטי החיבור, כולל השרת שבו נמצא מסד הנתונים, שם משתמש וכן הלאה. להלן כתובת אתר לדוגמה לדוגמא שלנו.

String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=secrepwd';

שים לב שכללנו את כל הפרמטרים הנדרשים לחיבור, כולל שם המארח ( מארח מקומי ), שם משתמש וסיסמא. (הכללת הסיסמה כזו אינה פרקטיקה טובה, ראה להלן חלופות.)

משתמש בזה jdbcUrl , הנה תוכנית מלאה לבדיקת הקישוריות.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
static public void main(String[] args) throws Exception
{
String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=securepwd';
Connection con = DriverManager.getConnection(jdbcUrl);
System.out.println('Connected!');
con.close();
}
}

שים לב שחיבור למסד נתונים הוא משאב יקר בתוכנית ויש לסגור אותו כמו שצריך למעלה. הקוד לעיל, עם זאת, אינו סוגר את החיבור במקרה של חריגה. על מנת לסגור את החיבור ביציאה רגילה או לא תקינה, השתמש בתבנית הבאה:

try(Connection con = DriverManager.getConnection(jdbcUrl)) {
System.out.println('Connected!');
}

כפי שצוין לעיל, זה רעיון גרוע להטביע את הסיסמה בכתובת ה- URL של JDBC. כדי לציין ישירות את שם המשתמש והסיסמה, תוכל להשתמש במקום זאת באפשרות החיבור הבאה.

באיזו מערכת קבצים משתמש mac os
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

שאילתת מסד הנתונים מג'אווה

כעת, לאחר שהחיבור למסד הנתונים נוצר, הבה נראה כיצד לבצע שאילתה, כגון בדיקת גרסת מסד הנתונים:

select version();

שאילתה מבוצעת בג'אווה כדלקמן. א הַצהָרָה אובייקט נוצר ושאילתה מבוצעת באמצעות לבצע שאילתה() שיטה המחזירה א ResultSet .

String queryString = 'select version()';
Statement stmt = con.createStatement();
ResultSet rset = stmt.executeQuery(queryString);

הדפס את הגירסה מתוך ResultSet כדלהלן. 1 מתייחס לאינדקס של העמודה בתוצאות, החל מ -1.

while ( rset.next()) {
System.out.println('Version: ' + rset.getString(1));
}

לאחר עיבוד התוצאות, יש לסגור את האובייקטים.

rset.close();
stmt.close();

וזה מכסה את כל מה שיש להתחבר ל- MySQL מג'אווה ולבצע שאילתה פשוטה.

בדוק גם את שלנו פקודות SQL לרמות גיליון .

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל האם זה בסדר להתקין את Windows 11 במחשב לא תואם?

כעת תוכל להתקין את Windows 11 במחשבים ישנים יותר עם קובץ ה- ISO הרשמי ... אך האם כדאי לעשות זאת?

קרא הבא
נושאים קשורים
  • תִכנוּת
  • ג'אווה
  • SQL
על הסופר ג'יי סרידהאר(פורסמו 17 מאמרים) עוד מג'יי סרידהאר

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה