Базы данных SQL-DDL и SQL-DML. Изучение транзакций. Программирование на языке SQL. Консольное приложение (Цикл лабораторных работ). Вариант № 2, страница 16

    /**

     * Получить соединение с базой данных.

     *

     * При первом обращении создается объект соединения.

     * При последующих обращениях он повторно используется.

     *

     * @return соединение

     */

    synchronized public static Connection getConnection() throws SQLException {

        if (null == dataSource) {

            // Создаем источник данных

            dataSource = new org.firebirdsql.pool.FBWrappingDataSource();

            // Устанавливаем путь к БД

            dataSource.setDatabase("//localhost:3050/G:/Tanya/BD/FILMBASE.FDB");

            //dataSource.setDatabase("//tiger.ftk.spbstu.ru//var/lib/firebird/4081_1/filmbase.fdb");

            // Устанавливаем тип соединения:

            // <li><code>"PURE_JAVA"</code> or <code>"TYPE4"</code>

            // for pure Java (type 4) JDBC connections;

            dataSource.setType("PURE_JAVA");

            // Устанавливаем кодировку на клиентской стороне

            // В случае, когда эта кодировка отличается от кодировки БД,

            // клиентская библиотека преобразует символы при чтении/записи.

            dataSource.setEncoding("UTF8");

            // Устанавливаем таймаут соединения

            dataSource.setLoginTimeout(10);

        }

            return dataSource.getConnection( "sysdba", "masterkey");

    }

}

Класс Film.java.

package filmbase;

/**

 * Содержит информацию об одном фильме.

 * @author Wert Tanya

 */

public class Film {

    private int id;

    private String Name;

    private int Year;

    private int Duration;

    private int Budget;

    public Film(int id, String Name, int Year, int Duration,int Budget) {

        this.id = id;

        this.Name = Name;

        this.Year = Year;

        this.Duration = Duration;

        this.Budget = Budget;

    }

    /**

     * Получить идентификатор фильма (значение первичного ключа в БД)

     * @return  идентификатор фильма

     */

    public int getId() {

        return id;

    }

    /**

     * Получить название фильма

     * @return  название фильма

     */

    public String getName() {

        return Name;

    }

    /**

     * Получить год создания фильма

     * @return  год создания фильма

     */

    public int getYear() {

        return Year;

    }

    /**

     * Получить длительность фильма

     * @return  длительность фильма

     */

    public int getDuration() {

        return Duration;

    }

    /**

     * Получить бюджет фильма

     * @return  бюджет фильма

     */

    public int getBudget() {

        return Budget;

    }

}

Класс FilmCollection.java.

package filmbase;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Collection;

import java.util.LinkedList;

/**

 *

 * @author Wert Tanya

 */

public class FilmCollection {

  /**

     * Получить все фильмы

     * @return коллекция фильмов

     * @throws SQLException

     */

    public static Collection<Film> getFilmList() throws SQLException {

        final Connection c = ConnectionParameters.getConnection();