JDBC-এ MySQL ডেটাবেস পরিবর্তন/সিলেক্ট করার দুটি পদ্ধতি আছে: USE database_name ক্যোয়ারি চালানো বা কানেকশন URL-এ ডেটাবেস নাম দেওয়া।
পদ্ধতি ১: USE স্টেটমেন্ট এক্সিকিউট করা
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class ChangeDatabaseExample {
public static void main(String[] args) throws SQLException {
// ১. ড্রাইভার রেজিস্টার
DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
// ২. কানেকশন (ডেটাবেস ছাড়া)
String mysqlUrl = "jdbc:mysql://localhost/";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");
// ৩. স্টেটমেন্ট তৈরি
Statement stmt = con.createStatement();
// ৪. USE ক্যোয়ারি এক্সিকিউট
String query = "USE mydatabase";
stmt.execute(query);
System.out.println("Database changed......");
// ৫. রিসোর্স বন্ধ
stmt.close();
con.close();
}
}
আউটপুট
Connection established......
Database changed......
পদ্ধতি ২: কানেকশন URL-এ ডেটাবেস নাম দেওয়া (সুপারিশযোগ্য)
String url = "jdbc:mysql://localhost/mydatabase";
Connection con = DriverManager.getConnection(url, "root", "password");
এই পদ্ধতিতে কানেকশন স্থাপনের সময়ই ডেটাবেস সিলেক্ট হয়, আলাদা ক্যোয়ারি লাগে না।
সম্পূর্ণ উদাহরণ (পদ্ধতি ২)
public class CreateDatabaseExample {
public static void main(String[] args) throws SQLException {
DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
String url = "jdbc:mysql://localhost/mydatabase";
Connection con = DriverManager.getConnection(url, "root", "password");
System.out.println("Connected to mydatabase directly!");
// এখন সরাসরি টেবিল ক্যোয়ারি চালানো যাবে
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SHOW TABLES");
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
con.close();
}
}
সেরা অনুশীলন
- URL-এ ডেটাবেস দিন — সহজ, কম কোড, কম রাউন্ড ট্রিপ
- try-with-resources ব্যবহার করুন (Java 7+) অটো ক্লোজের জন্য
- কানেকশন পুল (HikariCP) ব্যবহার করুন প্রোডাকশনে
- MySQL 8.0+ এর জন্য ড্রাইভার ক্লাস:
com.mysql.cj.jdbc.Driver(পুরানো:com.mysql.jdbc.Driver)
ডেটাবেস তৈরি করা (CREATE DATABASE)
String url = "jdbc:mysql://localhost/";
Connection con = DriverManager.getConnection(url, "root", "password");
Statement stmt = con.createStatement();
stmt.execute("CREATE DATABASE IF NOT EXISTS mydatabase");