امیدوارم که منظور شما رو حاصل کنه:
JDBC مخفف Java DataBase Connectivity یک API برای زبان برنامه نویسی جاوا است که نحوه دسترسی کلاینت را به دیتابیس مشخص می کند. یک سری متدها هم برای اجرای کوئیری داره. به زبان دیگر یک کتابخانه برای دسترسی به دیتابیس و مستقل از سامانه مدیریت پایگاه داده (DBMS) است. کدهای پرل هم می توانند بوسیله دستور زیر از JDBC استفاده کنند
DBD::JDBC proxy driver
درايور JDBC، براي شناسايي و برقراري ارتباط با بانک اطلاعاتي از JDBC URL استفاده مي کند. ضمناً هر کدام از DataBase هاي موجود در دنيا، يک URLمختص به خود دارند
نحوه اتصال به بانک اطلاعاتي
براي اتصال به بانک اطلاعاتي، در مرحله اول مي بايست نوع درايور مورد نظر خود را تعيين نماييد:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
سپس با استفاده از متد ()DriverManager.getConnection، يک JDBC URL را فراخواني کنيد.
=Connection conn
DriverManager.getConnection("jdbc:odbc:MyAccess DataSource")
در طي زمان اجراي() GetConnection ،کلاس DriverManager در مورد قبول شناسايي URL ، از درايور سوال کرده و تنها در صورت تاييد، از آن براي ايجاد Connection استفاده خواهد کرد.
شي Satement و ايجاد پرس و جو
براي ايجاد Statement بايد متد GreateStatementرا از کلاس Connection فراخواني نمود:
Satement stmt=con.CreateStatement
هم اکنون پس از ايجاد شدن يک پرس و جو(Query)، از متد() executeQuery در شي Satement، براي گرفتن داده استفاده مي شود.
(ResultSet rs=stmt.execuletQery(SELECT * FROMP TableName
ضمناً Statement داري متد ديگري به نام() Update excuteاست که براي اجراي عمليات خاصي مانند Delete،Updat،Insertروي بانک اطلاعاتي مورد استفاده قرار مي گيرد.
مثالJDBC
در اين بخش نشان خواهيم داد که چگونه مي توان از طريق JDBC-ODBC به بانک اطلاعاتي متصل شده و يک در خواست پرس و جو (Quesry) را اجرا و نتايج آن را نمايش داد. توجه داشته باشيد که به هنگام استفاده از ODBC، ابتدا بايد يکDSN تعريف نمود که اين کار در سيستم عامل Unix از طريق فايل پيکربندي ODBC.initو در ويندوز از طريق مسير زير قابل دسترس است.
ControlPanel\Administrative\DataSource
براي تعريف DSN جديد، از تب System DSN روي دکمه ADD کليک کرده و سپس در ليست System DataSource ، درايور بانک اطلاعاتي مورد نظر (که مي خواهيد با آن ارتباط برقرار کنيد) را انتخاب نماييد. سپس در قسمت Data Source Name، يک نام دلخواه براي DSN تعيين کرده و با کليک دکمه Select، مسير فايل بانک اطلاعاتي را مشخص کنيد. در نهايت بر روي دکمه OKکليک کرده و پس از انتخاب نام DSNساخته شده در پنجره ODBC ، پنجره را تاييد نماييد.
قطعه کد زير به زبان برنامه نويسي جاوا و بانک اطلاعاتي Access (که داراي جدولي به نام Employeeو سه فيلدPositionوName و Empnoاست) تهيه گرديده که از طريق واسط ODBC-JDBC به بانک مورد نظر متصل شده و يک در خواست پرس و جو را اجرا و نتايج آن را نمايش مي دهد.
importjava.sql.DriverManager
importjava.sql.Connection
importjava.sql.Statment
importjava.sql.SQLException
importjava.sql.SQLException
public class QueryExample {
final Static String driverClass="sun.jdbc.odbc.JdbcOdbcDriver:
final Static String connectionURL=
"jdbc.odbc:MyAccessDataSourse:
Connection con =null
public QueryExample() {
try {
System.out.print("Loading JDBC Drirer->"+driverClass+"\n")
Class.forName(driverlass).newInstance()
System.out.print("Connection to ->"؛(connectionURL+"\n")
this.con=DriverManager,getConnection(connectionURl,userID userPassword)
System.out.print("Connected as ->"+ userID +"\n")} catch (ChassNotFoundException e) {e.printStackTrace()}
catch)]InstantiationExecption(}
catch (SQLExecption e) {؛.printStackTrace()}
public void performQuery() {Statment Stmt = null,
ResultSet = null,
String queryString= "SELECT Empno, Name, Position FROM Employee", try {
System.out.print("Creating Statement...\n")
stmt = con.createStatement ()
System.out.print(" Opening ResultsSet...\n")
rest = stmt.executeQuery(queryString)
int counter = 0
while (rest.next()) {
System.out.println()
System.out.println(" Row [" +++counter + "]")
System.out.println("----------------")
System.out.println(" Name -> " + rest.getString(1))
System.out.println(" Position -> " + rest.getString(2))
System.out.println(" Empno -> " + rest.getfloat(3))
}
System.out.println()
System.out.print("Closing ResultSet...\n")
erst.chose()
System.out.print("Closing Statement...\n")
stmt.close()
} catch (SQLEception e) {
e.printStackTrace()
}
}
public void closeConnection() {
try {
System.out.print("Closing Connection...\n")
con.close()
} catch (SQLException e) {
e.printStackTrace()
}
}
public static void main(String[] args)
throws gava.lang.InterruptedException {
QueryExample qe = new QueryExample()
qe.performQuery()
qe.closeConnection()
}
}
ناگفته نماند که قطعه برنامه فوق را مي توان در يک محيط IDE جاوا وارد کرده و مورد استفاده قرار داد.
منبع