SQLite - जावा
इस अध्याय में, आप सीखेंगे कि जावा प्रोग्राम में SQLite का उपयोग कैसे करें।
इंस्टालेशन
इससे पहले कि आप हमारे जावा कार्यक्रमों में SQLite का उपयोग शुरू करें, आपको यह सुनिश्चित करने की आवश्यकता है कि आपके पास SQLite JDBC ड्राइवर और जावा मशीन पर सेट है। आप अपने मशीन पर जावा इंस्टॉलेशन के लिए जावा ट्यूटोरियल की जांच कर सकते हैं। अब, चेक करते हैं कि SQLite JDBC ड्राइवर कैसे सेट करें।
Sqlite-jdbc- (संस्करण) का नवीनतम संस्करण डाउनलोड करें । sqlite-jdbc रिपॉजिटरी से .jar
अपने वर्ग पथ में डाउनलोड की गई जार फ़ाइल sqlite-jdbc- (VERSION) .jar जोड़ें , या आप निम्न उदाहरणों में बताए गए -classpath विकल्प के साथ इसका उपयोग कर सकते हैं।
निम्नलिखित अनुभाग मानता है कि आपको जावा JDBC अवधारणाओं के बारे में कम जानकारी है। यदि आप नहीं करते हैं, तो नीचे दिए गए अवधारणाओं के साथ सहज होने के लिए JDBC ट्यूटोरियल के साथ आधा घंटा बिताने का सुझाव दिया गया है ।
डेटाबेस से कनेक्ट करें
जावा प्रोग्राम के बाद पता चलता है कि मौजूदा डेटाबेस से कैसे जुड़ा जाए। यदि डेटाबेस मौजूद नहीं है, तो इसे बनाया जाएगा और अंत में एक डेटाबेस ऑब्जेक्ट वापस कर दिया जाएगा।
import java.sql.*;
public class SQLiteJDBC {
public static void main( String args[] ) {
Connection c = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
System.out.println("Opened database successfully");
}
}
अब, हमारे डेटाबेस बनाने के लिए उपरोक्त प्रोग्राम को संकलित करें और चलाएं test.dbवर्तमान निर्देशिका में। आप अपनी आवश्यकता के अनुसार अपना रास्ता बदल सकते हैं। हम मान रहे हैं कि JDBC ड्राइवर का वर्तमान संस्करण sqlite-jdbc-3.7.2.jar वर्तमान पथ में उपलब्ध है।
$javac SQLiteJDBC.java
$java -classpath ".:sqlite-jdbc-3.7.2.jar" SQLiteJDBC
Open database successfully
यदि आप विंडोज मशीन का उपयोग करने जा रहे हैं, तो आप निम्नानुसार अपना कोड संकलित और चला सकते हैं -
$javac SQLiteJDBC.java
$java -classpath ".;sqlite-jdbc-3.7.2.jar" SQLiteJDBC
Opened database successfully
एक तालिका बनाएँ
जावा प्रोग्राम का उपयोग पहले बनाए गए डेटाबेस में एक टेबल बनाने के लिए किया जाएगा।
import java.sql.*;
public class SQLiteJDBC {
public static void main( String args[] ) {
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
System.out.println("Opened database successfully");
stmt = c.createStatement();
String sql = "CREATE TABLE COMPANY " +
"(ID INT PRIMARY KEY NOT NULL," +
" NAME TEXT NOT NULL, " +
" AGE INT NOT NULL, " +
" ADDRESS CHAR(50), " +
" SALARY REAL)";
stmt.executeUpdate(sql);
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
System.out.println("Table created successfully");
}
}
जब उपरोक्त कार्यक्रम संकलित और निष्पादित किया जाता है, तो यह आपके में कंपनी तालिका बनाएगा test.db और फाइल की अंतिम सूची इस प्रकार होगी -
-rw-r--r--. 1 root root 3201128 Jan 22 19:04 sqlite-jdbc-3.7.2.jar
-rw-r--r--. 1 root root 1506 May 8 05:43 SQLiteJDBC.class
-rw-r--r--. 1 root root 832 May 8 05:42 SQLiteJDBC.java
-rw-r--r--. 1 root root 3072 May 8 05:43 test.db
INSERT ऑपरेशन
जावा प्रोग्राम के बाद पता चलता है कि उपरोक्त उदाहरण में बनाई गई कंपनी तालिका में रिकॉर्ड कैसे बनाएं।
import java.sql.*;
public class SQLiteJDBC {
public static void main( String args[] ) {
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
c.setAutoCommit(false);
System.out.println("Opened database successfully");
stmt = c.createStatement();
String sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " +
"VALUES (1, 'Paul', 32, 'California', 20000.00 );";
stmt.executeUpdate(sql);
sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " +
"VALUES (2, 'Allen', 25, 'Texas', 15000.00 );";
stmt.executeUpdate(sql);
sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " +
"VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );";
stmt.executeUpdate(sql);
sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " +
"VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";
stmt.executeUpdate(sql);
stmt.close();
c.commit();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
System.out.println("Records created successfully");
}
}
जब उपरोक्त कार्यक्रम संकलित और निष्पादित किया जाता है, तो यह कंपनी की तालिका में दिए गए रिकॉर्ड बनाएगा और दो लाइन के बाद प्रदर्शित करेगा -
Opened database successfully
Records created successfully
ऑपरेशन का चयन करें
जावा प्रोग्राम के बाद पता चलता है कि उपरोक्त उदाहरण में बनाई गई कंपनी तालिका से रिकॉर्ड कैसे प्राप्त करें और प्रदर्शित करें।
import java.sql.*;
public class SQLiteJDBC {
public static void main( String args[] ) {
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
c.setAutoCommit(false);
System.out.println("Opened database successfully");
stmt = c.createStatement();
ResultSet rs = stmt.executeQuery( "SELECT * FROM COMPANY;" );
while ( rs.next() ) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String address = rs.getString("address");
float salary = rs.getFloat("salary");
System.out.println( "ID = " + id );
System.out.println( "NAME = " + name );
System.out.println( "AGE = " + age );
System.out.println( "ADDRESS = " + address );
System.out.println( "SALARY = " + salary );
System.out.println();
}
rs.close();
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
System.out.println("Operation done successfully");
}
}
जब उपरोक्त कार्यक्रम संकलित और निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम देगा।
Opened database successfully
ID = 1
NAME = Paul
AGE = 32
ADDRESS = California
SALARY = 20000.0
ID = 2
NAME = Allen
AGE = 25
ADDRESS = Texas
SALARY = 15000.0
ID = 3
NAME = Teddy
AGE = 23
ADDRESS = Norway
SALARY = 20000.0
ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mond
SALARY = 65000.0
Operation done successfully
अद्यतन ऑपरेशन
निम्नलिखित जावा कोड दिखाता है कि किसी भी रिकॉर्ड को अपडेट करने के लिए UPDATE स्टेटमेंट का उपयोग कैसे करें और फिर कंपनी टेबल से अपडेट किए गए रिकॉर्ड को लाने और प्रदर्शित करने के लिए।
import java.sql.*;
public class SQLiteJDBC {
public static void main( String args[] ) {
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
c.setAutoCommit(false);
System.out.println("Opened database successfully");
stmt = c.createStatement();
String sql = "UPDATE COMPANY set SALARY = 25000.00 where ID=1;";
stmt.executeUpdate(sql);
c.commit();
ResultSet rs = stmt.executeQuery( "SELECT * FROM COMPANY;" );
while ( rs.next() ) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String address = rs.getString("address");
float salary = rs.getFloat("salary");
System.out.println( "ID = " + id );
System.out.println( "NAME = " + name );
System.out.println( "AGE = " + age );
System.out.println( "ADDRESS = " + address );
System.out.println( "SALARY = " + salary );
System.out.println();
}
rs.close();
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
System.out.println("Operation done successfully");
}
}
जब उपरोक्त कार्यक्रम संकलित और निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम देगा।
Opened database successfully
ID = 1
NAME = Paul
AGE = 32
ADDRESS = California
SALARY = 25000.0
ID = 2
NAME = Allen
AGE = 25
ADDRESS = Texas
SALARY = 15000.0
ID = 3
NAME = Teddy
AGE = 23
ADDRESS = Norway
SALARY = 20000.0
ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mond
SALARY = 65000.0
Operation done successfully
DELETE ऑपरेशन
निम्नलिखित जावा कोड दिखाता है कि किसी भी रिकॉर्ड को हटाने के लिए DELETE स्टेटमेंट का उपयोग कैसे करें और फिर हमारी कंपनी की तालिका से शेष रिकॉर्डों को प्राप्त करें और प्रदर्शित करें।
import java.sql.*;
public class SQLiteJDBC {
public static void main( String args[] ) {
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
c.setAutoCommit(false);
System.out.println("Opened database successfully");
stmt = c.createStatement();
String sql = "DELETE from COMPANY where ID=2;";
stmt.executeUpdate(sql);
c.commit();
ResultSet rs = stmt.executeQuery( "SELECT * FROM COMPANY;" );
while ( rs.next() ) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String address = rs.getString("address");
float salary = rs.getFloat("salary");
System.out.println( "ID = " + id );
System.out.println( "NAME = " + name );
System.out.println( "AGE = " + age );
System.out.println( "ADDRESS = " + address );
System.out.println( "SALARY = " + salary );
System.out.println();
}
rs.close();
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
System.out.println("Operation done successfully");
}
}
जब उपरोक्त कार्यक्रम संकलित और निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम देगा।
Opened database successfully
ID = 1
NAME = Paul
AGE = 32
ADDRESS = California
SALARY = 25000.0
ID = 3
NAME = Teddy
AGE = 23
ADDRESS = Norway
SALARY = 20000.0
ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mond
SALARY = 65000.0
Operation done successfully