База данных JDBC Connection
Программирование, включающее установление соединения JDBC, довольно проста. Вот четыре простых шага:
Импорт пакета JDBC:
В операторе импорта сообщает Java Compiler, где найти ссылки в коде, и поместить класс в начале вашего исходного кода.
Используя стандартный пакет JDBC, он позволяет выбирать, вставить, обновлять и удалять данные из таблиц SQL, добавляя следующий импорт в ваш исходный код:
Импорт java.sql.*; // для стандартных JDBC программы Import java.math.*; // для поддержки BigDecimal и BigInteger
Зарегистрируйте драйвер JDBC:
Перед тем, как использовать его, вы должны зарегистрировать свой драйвер в программе. Зарегистрированный драйвер - это процесс реализации, в котором файл класса драйвера Oracle загружается в память, чтобы его можно было использовать в качестве интерфейса JDBC.
Вы должны сделать эту регистрацию только один раз в своей программе. Водитель может быть зарегистрирован одним из двух способов.
Метод (i) - class.forname ():
Наиболее распространенным методом регистрации драйвера является использование метода Java Class.Forname () для динамической загрузки файлов класса драйвера в память, и он автоматически зарегистрирует его. Этот подход желателен, потому что он позволяет драйвере регистрировать конфигурацию для легкой переносимости.
В следующем примере используется class.forname () для регистрации драйвера Oracle:
try {class.forname ("oracle.jdbc.driver.oracledriver");} catch (classnotfoundexception ex) {System.out.println ("Ошибка: невозможно загрузить класс драйверов!"); System.exit (1);}Вы можете использовать метод GetInstance () для разрешения несовместимых JVM, но два дополнительных исключения написаны следующим образом:
try {class.forname ("oracle.jdbc.driver.oracledriver"). newinstance ();} catch (classnotfoundexception ex) {System.out.println ("Ошибка: невозможно загрузить класс драйвера!"); System.Exit (1); Catch (allogalAccessException ex) {System.out.println ("Ошибка: проблема доступа при загрузке!"); System.exit (2); Catch (instantiationException ex) {System.out.println ("Ошибка: невозможно создать драйвер!"); System.Exit (3);} Метод (II) - DriverManager.RegisterDriver ():
Второй способ использовать его для регистрации драйвера - это использовать метод staticdrivermanager.registerdriver ().
Это должно, если вы используете несовместимую JDK JVM, Microsoft предоставляет метод с использованием RegisterDriver ().
В следующем примере используется RegisterDriver () для регистрации драйвера Oracle:
попробуйте {Driver MyDriver = new Oracle.jdbc.driver.oracledriver (); DriverManager.registerDriver (mydriver);} catch (classnotfoundexception ex) {System.out.println ("Ошибка: невозможно загрузить класс драйверов!"); System.exit (1);} Состав URL -адреса базы данных:
При загрузке драйвера вы можете установить соединение в программе, используя метод Drivermanager.getConnection (). Для легкой ссылки давайте перечислим три перегруженных метода Drivermanager.getConnection ():
Здесь каждая форма требует URL базы данных. URL -адрес базы данных указывает на адрес базы данных.
Разработка URL -адреса базы данных чаще всего используется для установления соединений.
В следующей таблице перечислены популярные имена драйверов JDBC и URL -адреса базы данных.
RDBMSJDBC Имя драйвера формат URL -адреса
Mysql com.mysql.jdbc.driver jdbc: mysql: // hostname/база данных Number/DatabaseNamesybase com.sybase.jdbc.sybdriver jdbc: sybase: tds: hostname: номер порта/база данных
Все выделенные части в формате URL являются статичными, и только оставшиеся части должны быть изменены в соответствии с настройками базы данных.
Создайте объект соединения: используйте имя пользователя и пароль URL базы данных:
Следующие три формы метода DriverManager.getConnection () используются для создания объекта соединения. Наиболее распространенная форма getConnection () требует передачи URL -адреса базы данных, имени пользователя и пароля:
Значение базы данных для базы данных URL: при условии, что вы используете тонкий драйвер Oracle, вам необходимо указать хост: порт.
Предположим, что существует хост TCP/IP -адрес 192.0.0.1, а имя хоста и Oracle Suilder настроены на порту 1521, имя базы данных - EMP, а затем полный URL базы данных:
JDBC: Oracle: Thin: @Amrood: 1521: Emp
Теперь соответствующий метод пользователя и пароля и getConnection () должен быть вызван для получения объекта соединения, как показано ниже:
String url = "jdbc: oracle: thin: @amrood: 1521: emp"; string user = "username"; string pass = "password" connect connect = drivermanager.getConnection (url, user, pass);
Используйте только один URL базы данных:
Вторая форма метода Drivermanager.getConnection () требует только URL базы данных:
DriverManager.getConnection (String URL);
Однако в этом случае URL -адрес базы данных, включая имя пользователя и пароль, имеет следующую общую форму:
JDBC: Oracle: Driver: имя пользователя/пароль@База данных
Таким образом, приведенное выше соединение может быть создано следующим образом:
String url = "jdbc: oracle: thin: имя пользователя/пароль@amrood: 1521: emp"; connect conn = drivermanager.getconnection (url);
Используйте URL -адрес базы данных и объект свойств:
Третья форма метода Drivermanager.getConnection () требует URL -адреса базы данных и объекта свойств:
Drivermanager.getConnection (строковый URL, информация о свойствах);
Объект свойств, сохраняет набор пар ключевых слов. Он используется для вызова метода getConnection (), когда атрибут драйвера передается драйверу.
Чтобы сделать то же соединение, сделанное через предыдущий пример, используйте следующий код:
Import java.util.*; String url = "jdbc: oracle: thin: @amrood: 1521: emp"; properties info = new Properties (); info.put ("user", "username"); info.put ("пароль", "пароль"); connect connect.getConnection (url, info); Закрыть соединение JDBC:
В конце программы JDBC явно требует, чтобы все соединения с базой данных были закрыты, чтобы завершить каждый сеанс базы данных. Однако, если вы забудете, сборщик мусора Java закрывает соединение и очищает устаревшие объекты.
Полагаться на сбор мусора, особенно в программировании базы данных, является очень плохой привычкой программирования. Это всегда должно быть в привычке закрытия метода Close (), связанного с объектом соединения.
Чтобы убедиться, что соединение будет закрыто, оно может быть выполнено в блоках, наконец, в коде. Наконец, блоки будут выполнены, возникают или нет.
Чтобы закрыть соединение, открытое выше, метод закрытия () должен быть назван следующим образом:
conn.close ();
Явно закрывайте соединения с СУБД для сохранения ресурсов.
Создайте приложение JDBC:
Есть шесть шагов, предпринятых в создании приложения JDBC:
Пример кода:
Этот пример можно использовать в качестве шаблона, когда вам нужно построить приложение JDBC.
Этот пример кода записан на основе среды и установки базы данных в предыдущей главе.
Скопируйте следующий пример FirstExample.java, составьте и запустите следующее:
// Шаг 1. Импорт требуемые PackagesImport java.sql.*; Public Class FirstExample {// Имя драйвера JDBC и URL -адреса базы данных Статическая конечная строка jdbc_driver = "com.mysql.jdbc.driver"; Статическая конечная строка db_url = "jdbc: mysql: // localhost/emp"; // учетные данные базы данных Static Final String user = "username"; статическая конечная строка Pass = "пароль"; public static void main (string [] args) {connection conn = null; Утверждение stmt = null; try {// Шаг 2: Зарегистрировать JDBC Driver Class.forname ("com.mysql.jdbc.driver"); // Шаг 3: Откройте систему соединения.out.println («Подключение к базе данных ...»); conn = drivermanager.getConnection (db_url, пользователь, Pass); // Шаг 4: Выполнить систему Query.out.println ("Создание оператора ..."); stmt = conn.createStatement (); String SQL; SQL = "Выберите идентификатор, сначала, последний, возраст от сотрудников"; ResultSet rs = stmt.executequery (sql); // Шаг 5: Извлеките данные из набора результатов while (rs.next ()) {// reture по имени столбца int id = rs.getint ("id"); int age = rs.getint ("age"); String first = rs.getString ("First"); String Last = Rs.GetString ("last"); // отображать значения System.out.print ("id:" + id); System.out.print (", возраст:" + возраст); System.out.print (", первое:" + первое); System.out.println (", Last:" + Last); } // Шаг 6: Среда очистки rs.close (); stmt.close (); conn.close (); } catch (sqlexception se) {// обрабатывать ошибки для jdbc se.printstacktrace (); } catch (Exception e) {// обрабатывать ошибки для class.forname e.printstacktrace (); } наконец {// наконец -то блок используется для закрытия ресурсов, попробуйте {if (stmt! = null) stmt.close (); } catch (sqlexception se2) {} // ничего мы не можем попробовать {if (conn! = null) conn.close (); } catch (sqlexception se) {se.printstacktrace (); } // end Наконец -то попробуйте} // end try system.out.println ("Прощай!"); } // end main} // end FirstExampleТеперь давайте составим приведенный выше пример следующим образом:
C:> Javac FirstExample.java
При запуске FirstExample это дает следующие результаты:
C:> Java FirstExample
Подключение к базе данных ... Создание утверждения ... ID: 100, возраст: 18, первое: Zara, Last: Aliid: 101, возраст: 25, первое: махназ, последний: Fatmaid: 102, возраст: 30, первый: Zaid, последний: Ханид: 103, возраст: 28, первое: сумит, последний: mittal