Книга: Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil
Пример приложения на Java
Пример приложения на Java
Давайте рассмотрим простой пример приложения на Java, который будет устанавливать связь с базой данных, производить выборку данных из таблицы и распечатывать ее на экране.
Хотя в данном примере показывается работа с InterBase, можно заметить, что он похож на примеры работы с другими серверами СУБД. Это связано с тем, что Java, а точнее, JDBC предоставляет универсальный способ общения своих приложений и любых СУБД, для которых есть JDBC-драйвера. InterBase не является исключением, и любой Java-разработчик сможет легко разобраться в использовании JDBC-драйвера InterBase, если он ранее уже работал с JDBC.
Итак, вот пример программы, которая находится в файле SampleInterBase2JAVA.Java:
import Java.sql.*;
public class SampleInterBase2JAVA {
public static void main(String[] args){
// срока соединения с базой данных InterBase String url =
"jdbc:InterBase://localhost/C:/Database/test.gdb"; try {
// загружаем драйвер для InterBase
Class.forName("InterBase.interclient.Driver");
} catch(Java.lang.ClassNotFoundException e) {
// в случае, если драйвер не найден,
// выдаем сообщение об ошибке
System.err.printlnfe.getMessage()) ;
}
Connection conn = null; // соединение с базой данных
try {
// создаем соединение с базой данных (объект conn)
// указанной в строке соединения url
// используем пользователя/пароль:
SYSDBA/masterkey
conn = DriverManager.getConnection(url,"SYSDBA", "masterkey");
} catch(Java.sql.SQLException sqle){
// в случае проблем с подключением
// выдаем соответствующее сообщение об ошибке
System.err.println(sqle.getMessage()) ;
}
//после создания соединения
// создаем объект выражение stint
Statement stmt = null;
try{
stmt = conn.createStatement();
}catch(Java.sql.SQLException EsqlConn){
System.err.printlntEsqlConn.getMessage());
}
// текст SQL-запроса
String sSQL = "Select ID, NAME FROM TableExample";
ResultSet rs = null;
try{
// выполняем запрос и помещаем результат
//в объект ResultSet rs
rs = stmt.executeQuery(sSQL);
}catch( Java, sql. SQL/Exception EsqlConn) {
System.err.printIn(EsqlConn.getMessage());
}
// распечатываем результат на экране
try{
while (rs.next()) {
int id = rs.getlntC'ID");
String s = rs.getStringt"NAME");
System.out.println(id + " " + s) ;
}
}catch(Java.sql.SQLException EsqlFetch){
System.err.println(EsqlFetch.getMessage());
}
}
}
Теперь можно попытаться откомпилировать и запустить эту тестовую программу следующим образом:
Java.exe SampleInterBase2JAVA
Если все установлено правильно и существует такая база, то вы получите два столбца с результатами. Однако есть одна особенность, которую необходимо знать для работы из Java с базами данными, содержащими кириллицу.
Если вы следовали рекомендациям, приведенным в главе "Русификация InterBase" (ч. 1), то ваша тестовая база, в которой предполагается хранить русские символы, создана с использованием набора символа (charser) WIN1251.
Если попытаться получить из базы данных строки, содержащие русские символы описанным в приведенном выше примере способом, то в результате выборки будут находиться символы с некорректной кодировкой, которые прочитать будет невозможно. Чтобы заставить JDBC-драйвер InterBase использовать правильный набор символов для работы с кириллицей, необходимо указать его в параметрах соединения. Для этого следует создать объект Properties и поместить в него параметры соединения. За набор символов, который будет использоваться для соединения с базой данных, отвечает параметр charset. Вот пример соединения:
// задаем параметры соединения строку соединения,
// имя пользователя, пароль и набор символов
String url = "jdbc:InterBase://localhost/C:/Database/test.gdb";
String uName = "SYSDBA";
String pass = "masterkey";
String charSet="cp!251";
// создаем структуру для хранения параметров соединения
Properties prop = new Properties();
prop.put("user", uName);
prop.put("password", pass);
prop.put{"charset", charSet);
// получаем соединение с базой данных InterBase
// с указанием используемого набора символов
Connection db = DriverManager.getConnection(url, prop);
Таким образом разрешается проблема в приложениях Java с работой с кириллическими символами в базах данных InterBase.
- 26.8. Пример приложения
- Системы управления приложениями устройств
- 12.1.1. Пример использования Rhino
- 13 JavaScript в веб-броузерах
- Пример установочного скрипта
- Пример из практики
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- Примеры получения статистики
- Пример применения метода «пять почему»
- 14. Лекция: Пакет java.util
- Пример 12-8. Частота встречаемости отдельных слов
- 1.2.5. Пример программы