Spring Boot অ্যাপ্লিকেশনে লোকাল MySQL ডাটাবেস কানেক্ট করার জন্য application.properties ফাইলে ডেটাসোর্স কনফিগারেশন যোগ করা হয়।
application.properties কনফিগারেশন
spring.datasource.username=yourMySQLUserName spring.datasource.password=yourMySQLPassword spring.datasource.url=jdbc:mysql://localhost:3306/yourDatabaseName spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
টেস্ট টেবিল তৈরি (MySQL-এ)
CREATE TABLE demo71 (id INT, name VARCHAR(20)); INSERT INTO demo71 VALUES (100, 'John'), (101, 'David'), (102, 'Bob');
Spring Boot কন্ট্রোলার ক্লাস
@RestController
@RequestMapping("/table")
public class TableController {
@Autowired
EntityManager entityManager;
@GetMapping("/demo71")
@ResponseBody
public String getData() {
Query sqlQuery = entityManager.createNativeQuery("SELECT name FROM demo71");
List result = sqlQuery.getResultList();
StringBuilder sb = new StringBuilder();
for (String name : result) {
sb.append(name).append(" ");
}
return sb.toString();
}
}
মেইন ক্লাস
@SpringBootApplication
public class JavaMysqlDemoApplication {
public static void main(String[] args) {
SpringApplication.run(JavaMysqlDemoApplication.class, args);
}
}
টেস্ট করা
- মেইন ক্লাস রান করুন (Run as Java Application)।
- ব্রাউজারে হিট করুন:
https://localhost:8093/table/demo71
আউটপুট
John David Bob
ব্যাখ্যা:
driver-class-name: MySQL 8.0+ এর জন্যcom.mysql.cj.jdbc.Driver(পুরনো:com.mysql.jdbc.Driver)।url:jdbc:mysql://host:port/dbnameফরম্যাট।EntityManagerJPA-র মাধ্যমে নেটিভ কোয়েরি এক্সিকিউট করে।- পোর্ট ৮০৯৩ অ্যাপ্লিকেশন পোর্ট (server.port=8093 সেট থাকলে)।
সিকিউরিটি টিপ: পাসওয়ার্ড প্রোপার্টি ফাইলে না রেখে ইনভায়রনমেন্ট ভেরিয়েবল বা Spring Cloud Config ব্যবহার করুন।