কিভাবে জাভা দিয়ে একটি মাইএসকিউএল ডাটাবেসের সাথে সংযোগ স্থাপন করবেন

কিভাবে জাভা দিয়ে একটি মাইএসকিউএল ডাটাবেসের সাথে সংযোগ স্থাপন করবেন

জাভা প্রদান করে JDBC (জাভা ডেটাবেস কানেক্টিভিটি) জাভা এসডিকে (সফটওয়্যার ডেভেলপমেন্ট কিট) এর অংশ হিসাবে। এটি ব্যবহার করে আগুন , এটি একটি রিলেশনাল ডাটাবেসের সাথে সংযোগ স্থাপন করা এবং সাধারণ ক্রিয়াকলাপ সম্পাদন করা যেমন প্রশ্ন করা, insোকানো, আপডেট করা এবং রেকর্ড মুছে ফেলা খুব সহজ।





যদিও মূল JDBC API জাভাতে অন্তর্ভুক্ত করা হয়, MySQL বা SQL সার্ভারের মতো একটি বিশেষ ডাটাবেসের সাথে সংযোগ স্থাপনের জন্য একটি অতিরিক্ত উপাদান প্রয়োজন যা ডাটাবেস ড্রাইভার নামে পরিচিত। এই ডাটাবেস ড্রাইভারটি একটি সফ্টওয়্যার উপাদান যা মূল JDBC কলগুলিকে সেই ডাটাবেস দ্বারা বোঝা ফরম্যাটে অনুবাদ করে।





নোটপ্যাড ++ 2 টি ফাইলের তুলনা করুন

এই প্রবন্ধে, আসুন একটি মাইএসকিউএল ডাটাবেসের সাথে সংযুক্ত হওয়ার বিশদ বিবরণ এবং এটির সাথে কয়েকটি প্রশ্ন কীভাবে সম্পাদন করা যায় তা দেখুন।





মাইএসকিউএল ডাটাবেস ড্রাইভার

উপরে ব্যাখ্যা করা হয়েছে, একটি মাইএসকিউএল ডাটাবেসের সাথে সংযোগ করতে সক্ষম হওয়ার জন্য, আপনার মাইএসকিউএল এর জন্য JDBC ড্রাইভার প্রয়োজন। এটিকে সংযোগকারী/জে ড্রাইভার বলা হয় এবং এটি থেকে ডাউনলোড করা যায় মাইএসকিউএল সাইট এখানে।

একবার আপনি ZIP (বা TAR.GZ) ফাইলটি ডাউনলোড করলে, আর্কাইভটি বের করুন এবং JAR ফাইলটি অনুলিপি করুন mysql-connector-java-bin.jar একটি উপযুক্ত স্থানে। MySQL JDBC ড্রাইভার ব্যবহার করে এমন যেকোনো কোড চালানোর জন্য এই ফাইলটি প্রয়োজন।



একটি নমুনা ডাটাবেস তৈরি করা

ধরে নিচ্ছি আপনি MySQL ডাটাবেস ডাউনলোড করেছেন এবং এটি সঠিকভাবে সেট আপ করুন যেখানে আপনার এটির অ্যাক্সেস আছে, আসুন আমরা একটি নমুনা ডাটাবেস তৈরি করি যাতে আমরা এটি সংযোগ এবং প্রশ্নগুলি সম্পাদনের জন্য ব্যবহার করতে পারি।

আপনার পছন্দের ক্লায়েন্ট ব্যবহার করে ডাটাবেসের সাথে সংযোগ করুন এবং একটি নমুনা ডাটাবেস তৈরি করতে নিম্নলিখিত বিবৃতিগুলি চালান।





create database sample;

ডাটাবেসের সাথে সংযোগ করতে সক্ষম হওয়ার জন্য আমাদের একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ডও প্রয়োজন (যদি না আপনি প্রশাসক হিসাবে সংযোগ করতে চান, যা সাধারণত একটি খারাপ ধারণা)।

নিম্নলিখিত একটি ব্যবহারকারী নামে তৈরি করে পরীক্ষক যিনি একই মেশিন থেকে মাইএসকিউএল ডাটাবেসের সাথে সংযোগ স্থাপন করবেন যেখানে এটি চলছে (দ্বারা নির্দেশিত স্থানীয় হোস্ট ), পাসওয়ার্ড ব্যবহার করে নিরাপদ pwd





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

আপনি যদি অন্য মেশিনে চলমান একটি ডাটাবেসের সাথে সংযুক্ত হন (নামযুক্ত দূরবর্তী ), আপনাকে নিম্নলিখিতগুলি ব্যবহার করতে হবে ( দূরবর্তী একটি হোস্টনাম বা একটি আইপি ঠিকানা হতে পারে):

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.forName('com.mysql.jdbc.Driver');

কোডটি একটি ব্যতিক্রম নিক্ষেপ করতে পারে, তাই আপনি যদি এটির সাথে মোকাবিলা করতে চান তবে আপনি এটি ধরতে পারেন (যেমন একটি GUI এর জন্য ত্রুটি বার্তা ফরম্যাট করা)।

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: ...

জাভা থেকে মাইএসকিউএল এর সাথে সংযোগ স্থাপন

এখন যেহেতু আমরা জাভা থেকে মাইএসকিউএল ড্রাইভার লোড করার বিশদ বিবরণ বাদ দিয়েছি, আসুন আমরা ডাটাবেসের সাথে সংযোগ স্থাপন করি। একটি ডাটাবেস সংযোগ তৈরি করার একটি উপায় হল ব্যবহার করা ড্রাইভার ম্যানেজার

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

এবং কি jdbcUrl ? এটি সংযোগের বিশদ নির্দেশ করে, সার্ভার সহ যেখানে ডাটাবেস অবস্থিত, ব্যবহারকারীর নাম ইত্যাদি। এখানে আমাদের উদাহরণের জন্য একটি নমুনা URL।

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!');
}

উপরে উল্লিখিত হিসাবে, JDBC URL- এ পাসওয়ার্ড এম্বেড করা একটি খারাপ ধারণা। ব্যবহারকারীর নাম এবং পাসওয়ার্ড সরাসরি নির্দিষ্ট করতে, আপনি এর পরিবর্তে নিম্নলিখিত সংযোগ বিকল্পটি ব্যবহার করতে পারেন।

অ্যাডমিনিস্ট্রেটরের পাসওয়ার্ড উইন্ডোজ ১০ কিভাবে সরিয়ে ফেলবেন
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

জাভা থেকে ডাটাবেস জিজ্ঞাসা করা

এখন যেহেতু ডাটাবেসের সাথে সংযোগ স্থাপন করা হয়েছে, আসুন দেখি কিভাবে একটি প্রশ্ন সম্পাদন করা যায়, যেমন ডাটাবেস সংস্করণ অনুসন্ধান করা:

select version();

নিম্নরূপ জাভাতে একটি প্রশ্ন কার্যকর করা হয়। ক বিবৃতি অবজেক্ট তৈরি করা হয় এবং একটি ক্যোয়ারী ব্যবহার করে কার্যকর করা হয় executeQuery () পদ্ধতি যা ফেরত দেয় a ফলাফল সেট

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

থেকে সংস্করণ মুদ্রণ করুন ফলাফল সেট নিম্নরূপ. 1 থেকে শুরু করে ফলাফলে কলামের সূচক বোঝায়।

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

ফলাফল প্রক্রিয়া করার পরে, বস্তুগুলি বন্ধ করা প্রয়োজন।

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

এবং এটি জাভা থেকে মাইএসকিউএল এর সাথে সংযোগ স্থাপন এবং একটি সাধারণ প্রশ্ন সম্পাদন করার সমস্ত কিছু জুড়ে দেয়।

এছাড়াও আমাদের দেখুন SQL কমান্ড চিট শীট

শেয়ার করুন শেয়ার করুন টুইট ইমেইল অসঙ্গত পিসিতে উইন্ডোজ 11 ইনস্টল করা কি ঠিক?

আপনি এখন অফিসিয়াল আইএসও ফাইল দিয়ে পুরোনো পিসিতে উইন্ডোজ 11 ইনস্টল করতে পারেন ... কিন্তু এটি করা কি একটি ভাল ধারণা?

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • প্রোগ্রামিং
  • জাভা
  • এসকিউএল
লেখক সম্পর্কে জয় শ্রীধর(17 নিবন্ধ প্রকাশিত) জয় শ্রীধর থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন