কম্পিউটার

জাভা প্রোগ্রাম ব্যবহার করে মাইএসকিউএল ডাটাবেসে কীভাবে একটি চিত্র সন্নিবেশ করা যায়?


MySQL ডাটাবেসে একটি ইমেজ ধরে রাখতে সাধারণত ব্লব টাইপ ব্যবহার করা হয়। অতএব, নিশ্চিত করুন যে আপনার কাছে নিম্নলিখিত বর্ণনা সহ একটি ব্লব ডেটাটাইপ দিয়ে একটি টেবিল তৈরি করা হয়েছে:

<প্রে>+------+---------------+------+------+---------+ -------+| মাঠ | প্রকার | শূন্য | কী | ডিফল্ট | অতিরিক্ত |+------+---------------+------+------+---------+- ------+| নাম | varchar(255) | হ্যাঁ | | NULL | || ছবি | ব্লব | হ্যাঁ | | NULL | |+------+---------------+------+------+---------+ -----+

MySQL-এ একটি ছবি ঢোকাতে ডাটাবেস, নীচের ধাপগুলি অনুসরণ করুন:

ধাপ 1:ডাটাবেসের সাথে সংযোগ করুন

আপনি getConnection() ব্যবহার করে একটি ডাটাবেসের সাথে সংযোগ করতে পারেন ড্রাইভার ম্যানেজার ক্লাসের পদ্ধতি।

MySQL URL পাস করে MySQL ডাটাবেসের সাথে সংযোগ করুন যা হল jdbc:mysql://localhost/sampleDB (যেখানে স্যাম্পলডিবি হল ডাটাবেসের নাম), getConnection() পদ্ধতির প্যারামিটার হিসেবে ব্যবহারকারীর নাম এবং পাসওয়ার্ড।

স্ট্রিং mysqlUrl ="jdbc:mysql://localhost/sampleDB";Connection con =DriverManager.getConnection(mysqlUrl, "root", "password");

ধাপ 2:একটি প্রস্তুত বিবৃতি তৈরি করুন

prepareStatement() ব্যবহার করে একটি PreparedStatement অবজেক্ট তৈরি করুন সংযোগের পদ্ধতি ইন্টারফেস. এই পদ্ধতিতে একটি প্যারামিটার হিসাবে সন্নিবেশ ক্যোয়ারী (স্থানধারক সহ) পাস করুন।

PreparedStatement pstmt =con.prepareStatement("INSERT INTO MyTable VALUES(?, ?)");

ধাপ 3:স্থানধারীদের মান সেট করুন

প্রস্তুত স্টেটমেন্টের সেটার পদ্ধতি ব্যবহার করে স্থানধারীদের মান সেট করুন ইন্টারফেস. কলামের ডেটাটাইপ অনুযায়ী পদ্ধতি বেছে নিন। উদাহরণের জন্য যদি কলামটি VARCHAR প্রকারের হয় তবে setString() ব্যবহার করুন পদ্ধতি এবং যদি এটি INT প্রকারের হয় তবে আপনি setInt() ব্যবহার করতে পারেন পদ্ধতি।

এবং যদি এটি ব্লব ধরণের হয় তবে আপনি setBinaryStream() ব্যবহার করে এটির মান সেট করতে পারেন অথবা সেটব্লব() পদ্ধতি। এই পদ্ধতিগুলিতে প্যারামিটার সূচক এবং ইনপুটস্ট্রিম ক্লাসের একটি বস্তুকে প্যারামিটার হিসাবে উপস্থাপন করে একটি পূর্ণসংখ্যা ভেরিয়েবল পাস করে৷

pstmt.setString(1, "নমুনা চিত্র");//Blob typeInputStream inserting =new FileInputStream("E:\\images\\cat.jpg");pstmt.setBlob(2, in);

পদক্ষেপ 4:বিবৃতিটি কার্যকর করুন

execute() ব্যবহার করে উপরে তৈরিকৃত PreparedStatement অবজেক্টটি চালান প্রস্তুত স্টেটমেন্টের পদ্ধতি ইন্টারফেস।

উদাহরণ

ইমপোর্ট java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement;পাবলিক ক্লাস InsertImageToMySqlDB {( string main ]) এক্সেপশন থ্রো করে // সংযোগ পাওয়া হচ্ছে স্ট্রিং mysqlUrl ="jdbc:mysql://localhost/sampleDB"; সংযোগ কন =DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("সংযোগ প্রতিষ্ঠিত......"); PreparedStatement pstmt =con.prepareStatement("INSERT INTO MyTable VALUES(?,?)"); pstmt.setString(1, "নমুনা চিত্র"); // ব্লব টাইপ ইনপুটস্ট্রিম ইনসার্ট করা হচ্ছে =নতুন ফাইলইনপুটস্ট্রিম("E:\\images\\cat.jpg"); pstmt.setBlob(2, in); // pstmt.execute() বিবৃতি কার্যকর করা হচ্ছে; System.out.println("রেকর্ড সন্নিবেশিত......"); }}

আউটপুট

সংযোগ প্রতিষ্ঠিত হয়েছে......রেকর্ড ঢোকানো হয়েছে......

  1. আমরা কিভাবে JDBC ব্যবহার করে MySQL ডাটাবেসে একটি ফাইল সন্নিবেশ/সঞ্চয় করব?

  2. কিভাবে জাভা ব্যবহার করে একটি MySQL কলাম মান মধ্যে DATE সন্নিবেশ করান?

  3. কিভাবে MySQL এর সাথে জাভা সংযোগ করবেন?

  4. একটি MySQL ডাটাবেসে নাল মান সন্নিবেশ করার জন্য জাভা অ্যাপ্লিকেশন?