জাভা ডেটাবেস সংযোগ
আপনি SQL এর বেসিক জানেন। এটা ভাল. তবে আজ আপনি আরও ভাল অনুভব করবেন। আজ আপনি একটি জাভা অ্যাপ্লিকেশন থেকে একটি ডাটাবেসের সাথে কাজ করতে শিখতে শুরু করবেন।
অনেকগুলি আলাদা ডিবিএমএস রয়েছে, তাই জাভা নির্মাতারা ডাটাবেসের সাথে কীভাবে একটি জাভা অ্যাপ্লিকেশন কাজ করে তা মানক করার সিদ্ধান্ত নিয়েছে। এবং তারা এই স্ট্যান্ডার্ডকে বলে - JDBC : Java DataBase Connectivity .
JDBC এর 3টি প্রধান ইন্টারফেস রয়েছে:
- সংযোগ - ডাটাবেসের সাথে সংযোগের জন্য দায়ী
- বিবৃতি - ডাটাবেস অনুসন্ধানের জন্য দায়ী
- ResultSet - ডাটাবেসের প্রশ্নের ফলাফলের জন্য দায়ী
আসলে, যে সব. এবং আমরা এমনকি সমস্ত ইন্টারফেসের সমস্ত পদ্ধতি শিখব না। শুধুমাত্র কাজের উদাহরণ, যা আমরা ধীরে ধীরে জটিল করব।
JDBC কিছুটা servlets এর সাথে কাজ করার মত। JDBC এর নির্মাতারা বেশ কয়েকটি ইন্টারফেস লিখেছেন এবং গর্বের সাথে এটিকে জাভা ডেটাবেস API বলে। এবং এই ইন্টারফেসের বাস্তবায়নের দায়িত্ব দেওয়া হয়েছিল ... DBMS এর নির্মাতাদের। সেখানে কীভাবে তা বাস্তবায়িত হয়- কেউ পাত্তা দেয় না। ঠিকভাবে কাজ করে.
JDBC এর চারটি সংস্করণ রয়েছে এবং আমরা সর্বশেষটির দিকে তাকিয়ে থাকব। এবং এই কারণে নয় যে তিনি সবচেয়ে শান্ত, কিন্তু কারণ তিনি সবচেয়ে সহজ।
জেডিবিসি ড্রাইভার ম্যানেজার
জাভা অ্যাপ্লিকেশন এবং ডাটাবেস JDBC ড্রাইভার নামক একটি লাইব্রেরির মাধ্যমে একে অপরের সাথে যোগাযোগ করে। এটি ক্লাসের একটি সেট যা একটি নির্দিষ্ট DBMS-এর জন্য JDBC API বাস্তবায়ন করে।
DriverManager নামক একটি ক্লাস ব্যবহার করে সঠিক JDBC ড্রাইভার নির্বাচন করা হয়েছে । তাদের মিথস্ক্রিয়া নিম্নলিখিত হিসাবে প্রতিনিধিত্ব করা যেতে পারে:
জিনিসটি হল, আপনি ইন-মেমরি-ডিবি, নো-এসকিউএল-ডিবি, এমনকি একটি অ্যান্ড্রয়েড অ্যাপে তৈরি একটি ডাটাবেস ব্যবহার করতে পারেন। জাভা বিকাশকারী হিসাবে, এই সূক্ষ্মতাগুলি আপনাকে মোটেই উদ্বেগ করে না। ড্রাইভার ম্যানেজার আপনার জন্য সঠিক JDBC ড্রাইভার নির্বাচন করবে এবং সবকিছু ঘড়ির কাঁটার মতো কাজ করবে।
উপায় দ্বারা, তিনি এটা কিভাবে?
MySQL সার্ভারের সাথে সংযোগ করা হচ্ছে
মাইএসকিউএল ওয়ার্কবেঞ্চের মাধ্যমে স্থানীয় এসকিউএল সার্ভারের সাথে সংযোগ করার জন্য আপনার কী প্রয়োজন মনে রাখবেন? যদি আমি ভুলে যাই, তবে আমি আপনাকে মনে করিয়ে দিচ্ছি, আপনার তিনটি জিনিস দরকার ছিল:
- হোস্ট
- প্রবেশ করুন
- পাসওয়ার্ড
লগইন এবং পাসওয়ার্ড দিয়ে সবকিছু পরিষ্কার, এবং হোস্ট, যদি আপনি মনে রাখেন, সার্ভারটি যে কম্পিউটারে অবস্থিত তার নাম। যদি এটি আপনার স্থানীয় কম্পিউটারে অবস্থিত হয়, তাহলে আপনাকে হোস্টের নাম হিসাবে স্থানীয় হোস্ট নির্দিষ্ট করতে হবে। এটা স্থানীয় না হলে কি হবে?
তারপরে আপনাকে ... URL ব্যবহার করতে হবে। ইউআরএল মানে ইউনিভার্সাল রিসোর্স লোকেটার । এটি নেটওয়ার্কে যেকোনো কিছুর অবস্থান নির্দিষ্ট করতে ব্যবহার করা যেতে পারে: একটি সাইট, একটি প্রিন্টার, একটি SQL সার্ভার। প্রকৃতপক্ষে, URL স্থানীয় SQL সার্ভার অ্যাক্সেস করতে ব্যবহার করা হয়। এটা এই মত কিছু দেখায়:
mysql://localhost:3306/db_scheme
- mysql একটি সার্ভার প্রোটোকল
- localhost - নেটওয়ার্কে হোস্টনাম
- 3306 - পোর্ট যেখানে অনুরোধ করা হয়
- db_scheme - স্কিমার নাম (ডাটাবেসের নাম)
বিঃদ্রঃ. ডাটাবেসের নাম বাদ দেওয়া যেতে পারে। কিন্তু যদি সার্ভার অনেক ডাটাবেস স্কিমা সঞ্চয় করে, তাহলে সাধারণত তাদের জন্য বিভিন্ন ব্যবহারকারী এবং বিভিন্ন অ্যাক্সেস অধিকার তৈরি করা হয়। এবং যদি আপনি যে ব্যবহারকারীর অধীনে SQL সার্ভারে লগ ইন করেন তার সমস্ত ডাটাবেসে অ্যাক্সেস না থাকে, তবে আপনাকে অবশ্যই নির্দিষ্ট ডেটাবেসের নাম উল্লেখ করতে হবে যেখানে আপনার অ্যাক্সেস রয়েছে।
এই url-এর শেষে বিভিন্ন পরামিতি, এনকোডিং প্রকার, টাইমজোন থাকতে পারে, যা নতুন ডাটাবেস সংযোগ স্থাপনের জন্য পরামিতি হিসাবে বিবেচিত হয়।
এছাড়াও, প্রোটোকল যৌগিক হতে পারে। যদি ডাটাবেস সার্ভারের সাথে সমস্ত যোগাযোগ SSH প্রোটোকল ব্যবহার করে একটি এনক্রিপ্ট করা চ্যানেলের মাধ্যমে হয়, তাহলে URLটি এইভাবে নির্দিষ্ট করা যেতে পারে:
ssh:mysql://localhost:3306/db_scheme
একটি প্রোটোকল অগত্যা একটি বহিরাগত প্রোগ্রাম নয়. উদাহরণস্বরূপ, আপনি যদি JNDI প্রোটোকল ব্যবহার করে একটি সার্ভারের সাথে কাজ করছেন, আপনি এটিকে এইভাবে উল্লেখ করতে পারেন:
jndi:mysql://localhost:3306/db_scheme
এবং আপনি যদি JDBC API প্রোটোকল ব্যবহার করে কাজ করতে চান, তাহলে আপনাকে এভাবে লিখতে হবে:
jdbc:mysql://localhost:3306/db_scheme
যখন আপনি একটি ডাটাবেস সংযোগ তৈরি করার চেষ্টা করেন, JDBC ড্রাইভার ম্যানেজার আপনার SQL-db-URL পার্স করে এবং প্রোটোকল নাম থেকে JDBC ড্রাইভারের নাম নির্ধারণ করে। এখানে যেমন একটি ছোট কৌশল.
GO TO FULL VERSION