آموزش دونه:مرجع آموزش

بانک اطلاعاتی در جاوا (Java SQL Server) آموزش برنامه نویسی جاوا Java

بانک اطلاعاتی

Java SQL Server

ذخیره سازی اطلاعات در پایگاه داده, بسیار بهتر از ذخیره سازی در فایل ها و ارتباط مستقیم با فایل ها است. مزیت های آن نیز بر تمام برنامه نویسان آشکار است.

Structured Query Language و یا به اختصار SQL, یک زبان استاندارد است که برای انجام تراکنش با پایگاه داده مورد استفاده قرار می‌گیرد. این زبان در تمام پایگاه داده ها و تمام زبان های برنامه نویسی می‌تواند استفاده شود. به این ترتیب با استفاده از هر زبان برنامه نویسی, می‌توان با هر پایگاه داده ای ارتباط برقرار کرد. در غیر این صورت نیاز بود تا برای هریک از زبان های برنامه نویسی, یکسری دستورات برای ارتباط با هر پایگاه داده در نظر گرفته شود. البته درجاوا, می‌توان با استفاده از ساختار شی گرایی نیز با پایگاه داده ها ارتباط برقرار کرد. JOOQ نمونه ای از ارتباط با پایگاه داده به صورت شی گرایی است. اما استفاده مستقیم از SQL برای تراکنش با پایگاه داده, همچنان مورد استفاده قرار می‌گیرد.

اکنون در قالب مثال هایی ارتباط با پایگاه داده MySQL و همچنین تراکنش با آن را مورد بررسی قرار می‌دهیم. ابتدا باید یک Connector  به برنامه اضافه کنیم.این connector در واقع برای برقراری ارتباط میان پایگاه داده و جاوا استفاده می‌شود. سپس Maven Dependency آن را به پروژه اضافه می‌کنیم:

ابتدا یک جدول در MySQL ایجاد می‌کنیم. این جدول مقادیر مربوط به اطلاعات کاربران را در خود نگهداری می‌کند.

Java SQL Server

سپس یک کلاس متناظر با این جدول در جاوا ایجاد می‌کنیم

Java SQL Server

در ابتدا نیاز است تا ارتباط با پایگاه داده را برقرار کنیم. یک کلاس به نام JDBC Handler ایجاد می‌کنیم و در این کلاس تراکنش ها را مدیریت می‌کنیم. در Constructor این کلاس ارتباط با پایگاه داده را برقرار می‌کنیم.

Java SQL Server

ابتدا مقادیر حائز اهمیت برای ارتباط را در متغیر هایی قرار می‌دهیم.  متد forName, یک MySQL Driver را برای برنامه نویس فراهم می‌آورد. سپس یک Connection برای تراکنش با پایگاه داده ایجاد می‌کنیم. متد close در کلاس, Connection ایجاد شده را از بین می‌برد. توجه داشته باشید که بعد از هر تراکنش Connection ایجاد شده را ببنید و برای تراکنش جدید, یک Connection جدید ایجاد کنید.

اولین تراکنش افزودن اطلاعات یک شخص به پایگاه داده است. این دستور با استفاده از کلمه کلیدی Insert Into انجام می‌شود.

Java SQL Server

users نام جدول است و بعد از آن ستون هایی که باید مقدار دهی شوند را مشخص می‌کنیم. ترتیب این ستون ها بسیار مهم است. در اینجا ابتدا ستون code و سپس ستون name مشخص شده است. در موقع وارد کردن اطلاعات و قرار دادن آن در دستور بالا نیز باید این ترتیب رعایت شود. در غیر این صورت اطلاعات نادرستی به جدول وارد می‌شود.

Java SQL Server

در کد بالا, دستور SQL در یک Prepared Statement قرار داده شده است. علت استفاده از Prepared Statement, تامین امنیت است. اگر با دستورات SQL Injection, که یکی از روش های حمله به پایگاه داده است, آشنا باشید علت استفاده از این کلاس برای شما واضح است. با استفاده از این کلاس, مقادیری که قرار است به پایگاه داده افزوده شوند را با علامت سوال (?) مشخص می‌کنیم و با استفاده از متد های کلاس Prepared Statement مقادیر را به آن اضافه می‌کنیم.این روش ارتباط را نسبت به آسیب پذیری SQL Injection امن می‌کند.  در نهایت با استفاده از متد execute Update دستور را اجرا می‌کنیم و connection را می‌بندیم.

دستور بعدی, دستور واکشی اطلاعات است. اطلاعاتی که به پایگاه داده وارد شده اند, باید واکشی و خوانده شوند تا مورد پردازش قرار گیرند. دستور select برای واکشی اطلاعات استفاده می شود.

بعد از کلمه کلیدی Select, ستون هایی که می‌خواهیم مقادیر آن ها را دریافت کنیم را مشخص می‌کنیم. اگر تمام ستون ها را بخواهیم دریافت کنیم, از “*” استفاده می‌شود. سپس نام جدول را مشخص می‌کنیم و با استفاده از کلمه کلیدی Where می‌توان اطلاعاتی که با شرط خاصی همخوانی دارند را دریافت کنیم. تمام قوانین قابل استفاده در دستورات شرطی, در SQL نیز قابل استفاده است.

اکنون می‌خواهیم این واکشی را با استفاده از کد جاوا انجام دهیم:

ابتدا یک لیست از کلاس User ایجاد می‌کنیم که نتیجه جستجو ما را مشخص می‌کند. کد را در کلاس Prepared Statement قرار می‌دهیم و با استفاده از متد execute query دستور را اجرا می‌کنیم.  برای دریافت مقدار هر ستون نیاز است تا شماره آن ستون را در متد های get قرار دهید. اما معمولا برای جلوگیری از اشتباه, شماره ستون را نیز با استفاده از متد find column دریافت می‌کنیم. به این ترتیب نام ستون را در متد find column قرار می‌دهیم و نتیجه را در متد های get استفاده می‌کنیم.

برای بروزرسانی مقادیر در جدول از کلمه کلیدی update استفاده می‌کنیم.

اکنون برای انجام تراکنش بروزرسانی, به این صورت عمل می‌کنیم:

و شیوه استفاده از آن نیز مانند متد های قبل است.

برای حذف یک مقدار از پایگاه داده نیز به این صورت عمل می‌کنیم:

و کد جاوا آن به این صورت است:

 

آموزش کامل زبان برنامه نویسی جاوا در برنامه اندرویدی ما:

دانلود نرم افزار اندرویدی آموزش  زبان برنامه نویسی جاوا 

مطالب مرتبط