Apache Commons DBUtils - DataSource का उपयोग करना
अब तक, हम QueryRunner का उपयोग करते समय कनेक्शन ऑब्जेक्ट का उपयोग कर रहे हैं। हम भी डेटा स्रोत का उपयोग उचित रूप से कर सकते हैं। निम्न उदाहरण प्रदर्शित करेगा कि क्वेरीरीनर और डेटा स्रोत की सहायता से रीड क्वेरी का उपयोग करके रिकॉर्ड कैसे पढ़ें। हम कर्मचारी तालिका से एक रिकॉर्ड पढ़ेंगे।
वाक्य - विन्यास
QueryRunner queryRunner = new QueryRunner( dataSource );
Employee emp = queryRunner.query("SELECT * FROM employees WHERE first=?", resultHandler, "Sumit");
कहाँ पे,
dataSource - DataSource ऑब्जेक्ट कॉन्फ़िगर किया गया।
resultHandler - ResultSetHandler ऑब्जेक्ट को मैप करने के लिए कर्मचारी ऑब्जेक्ट पर सेट परिणाम।
queryRunner - QueryRunner ऑब्जेक्ट डेटाबेस से कर्मचारी ऑब्जेक्ट को पढ़ने के लिए।
DBUtils से संबंधित उपर्युक्त अवधारणाओं को समझने के लिए, हम एक उदाहरण लिखते हैं जो एक रीड क्वेरी चलाएगा। अपना उदाहरण लिखने के लिए, आइए हम एक नमूना एप्लिकेशन बनाएं।
चरण | विवरण |
---|---|
1 | अध्याय DBUtils - प्रथम अनुप्रयोग के तहत बनाए गए फ़ाइल MainApp.java को अपडेट करें । |
2 | नीचे बताए अनुसार एप्लिकेशन को कंपाइल करें और चलाएं। |
निम्नलिखित की सामग्री है Employee.java।
public class Employee {
private int id;
private int age;
private String first;
private String last;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getFirst() {
return first;
}
public void setFirst(String first) {
this.first = first;
}
public String getLast() {
return last;
}
public void setLast(String last) {
this.last = last;
}
}
निम्नलिखित की सामग्री है CustomDatasource.java।
import javax.sql.DataSource;
import org.apache.commons.dbcp2.BasicDataSource;
public class CustomDataSource {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/emp";
// Database credentials
static final String USER = "root";
static final String PASS = "admin";
private static DataSource datasource;
private static final BasicDataSource basicDataSource;
static {
basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName(JDBC_DRIVER);
basicDataSource.setUsername(USER);
basicDataSource.setPassword(PASS);
basicDataSource.setUrl(DB_URL);
}
public static DataSource getInstance() {
return basicDataSource;
}
}
निम्नलिखित की सामग्री है MainApp.java फ़ाइल।
import java.sql.SQLException;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;
public class MainApp {
public static void main(String[] args) throws SQLException {
DbUtils.loadDriver(JDBC_DRIVER);
QueryRunner run = new QueryRunner(CustomDataSource.getInstance());
ResultSetHandler<Employee> resultHandler = new BeanHandler<Employee>(Employee.class);
Employee emp = queryRunner.query("SELECT * FROM employees WHERE id=?",
resultHandler, 103);
//Display values
System.out.print("ID: " + emp.getId());
System.out.print(", Age: " + emp.getAge());
System.out.print(", First: " + emp.getFirst());
System.out.println(", Last: " + emp.getLast());
}
}
एक बार जब आप स्रोत फ़ाइलों का निर्माण कर लेते हैं, तो हम एप्लिकेशन चलाते हैं। यदि आपके आवेदन में सब कुछ ठीक है, तो यह निम्नलिखित संदेश को प्रिंट करेगा।
ID: 103, Age: 33, First: Sumit, Last: Mittal