Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

Java Database Connectivity



План:


Введення


JDBC ( англ. Java DataBase Connectivity - З'єднання з базами даних на Java) - переносних незалежний промисловий стандарт взаємодії Java-додатків з різними СУБД, реалізований у вигляді пакета java.sql, що входить до складу Java SE.

JDBC заснований на концепції так званих драйверів, що дозволяють отримувати з'єднання з базою даних по спеціально описаного URL. Драйвери можуть завантажуватися динамічно (під час роботи програми). Завантажившись, драйвер сам реєструє себе і викликається автоматично, коли програма вимагає URL, що містить протокол, за який драйвер відповідає.


1. Інтерфейси

JDBC API містить два основних типи інтерфейсів: перший - для розробників додатків і другий (більш низького рівня) - для розробників драйверів.

З'єднання з базою даних описується класом, що реалізує інтерфейс java.sql.Connection.

Маючи з'єднання з базою даних, можна створювати об'єкти типу Statement, службовці для виконання запитів до бази даних мовою SQL.

Існують наступні види типів Statement, що розрізняються за призначенням:

  • java.sql.Statement - Statement загального призначення;
  • java.sql.PreparedStatement - Statement, службовець для виконання запитів, що містять підставляються параметри (позначаються символом '?' в тілі запиту);
  • java.sql.CallableStatement - Statement, призначений для виклику збережених процедур.

Інтерфейс java.sql.ResultSet дозволяє легко обробляти результати запиту.



2. Переваги

Перевагами JDBC вважають:

  • Легкість розробки: розробник може не знати специфіки бази даних, з якою працює;
  • Код не змінюється, якщо компанія переходить на іншу базу даних;
  • Не потрібно встановлювати громіздку клієнтську програму;
  • До будь-якої базі можна під'єднатися через легко описуваний URL.

3. Приклади

Приклади коду

JDBC для MySQL
Даний приклад використовує вільний драйвер JDBC для MySQL, який легко встановлюється в більшості дистрибутивів Linux через стандартні репозиторії.
 package  javaapplication1  ;  import  java.sql .*  ;  public  class  Main  {  public  static  void  main  (  String  [  ]  args  )  throws  SQLException  {  / ** * Цей рядок вказує драйвер DB. * Розкоментуйте якщо прописуєте драйвер вручну * /  / / Class.forName ("com.mysql.jdbc.Driver");  Connection  conn  =  DriverManager  .  getConnection  (  "Jdbc: mysql: / / localhost: 3306/db_name"  ,  "User"  ,  "Password"  )  ;  if  (  conn  ==  null  )  {  System  .  out  .  println  (  "Немає з'єднання з БД!"  )  ;  System  .  exit  (  0  )  ;  }  Statement  stmt  =  conn.  createStatement  (  )  ;  ResultSet  rs  =  stmt.  executeQuery  (  "SELECT * FROM users"  )  ;  while  (  rs.  next  (  )  )  {  System  .  out  .  println  (  rs.  getRow  (  )  +  "."  +  rs.  getString  (  "Firstname"  )  +  "  \ T  "  +  rs.  getString  (  "Lastname"  )  )  ;  }  / ** * Stmt.close (); * При закритті Statement автоматично закриваються * всі пов'язані з ним відкриті об'єкти ResultSet * /  stmt.  close  (  )  ;  }  } 


JDBC для Microsoft SQL Server
Даний приклад використовує jTDS, вільний драйвер JDBC для Microsoft SQL Server і Sybase ASE SQL-Server. Підключитися до цієї та інших СУБД можна і вбудованими засобами за допомогою драйвера JDBC для ODBC, але ціною уповільнення роботи.
 / ** * Цей рядок вказує альтернативний драйвер DB. Наприклад hsql. * /  / / Class.forName ("org.hsqldb.jdbcDriver");  Connection  conn  =  DriverManager  .  getConnection  (  "Jdbc: jtds: sqlserver: / / SERVER / Northwind; instance = INST; domain = Sample_NTLM_Domain"  ,  "User"  ,  "Password"  )  ;  Statement  stmt  =  conn.  createStatement  (  )  ;  ResultSet  rs  =  stmt.  executeQuery  (  "SELECT LastName + '' + FirstName AS FullName, Address FROM Employees"  )  ;  while  (  rs.  next  (  )  )  {  System  .  out  .  println  (  rs.  getString  (  "FullName"  )  +  "  \ T  "  +  rs.  getString  (  "Address"  )  )  ;  }  rs.  close  (  )  ;  stmt.  close  (  )  ; 



Цей текст може містити помилки.

Схожі роботи | скачати

Схожі роботи:
tz database
Oracle Database
Internet Movie Database
Internet Movie Database
Internet Broadway Database
Java
Java OpenGL
Open Java Interface
Java Virtual Machine
© Усі права захищені
написати до нас