Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Команда ALTER TABLE




Созданную таблицу можно впоследствии изменить с помощью команды ALTER TABLE. Команда ALTER TABLE позволяет добавлять новые колонки и ограничения целостности, удалять их, менять типы колонок, переименовывать колонки.

Примеры различных вариантов команды ALTER TABLE:

ALTER TABLE Departments ADD COLUMN City int

ALTER TABLE Departments DROP COLUMN City

ALTER TABLE Departments ADD

CONSTRAINT FK_City

FOREIGN KEY (City)

REFERENCES Cities(City)

ALTER TABLE Departments DROP CONSTRAINT FK_City

Команда DROP TABLE

Удаление ранее созданной таблицы производится командой DROP TABLE:

DROP TABLE Departments

 
Приложение 5

HIBERNATE

Hibernate – инструмент объектно-реляционного отображения (Object-Relational Mapping, ORM) данных для Java-окружения. Целью Hibernate является освобождение разработчика от большинства общих работ, связанных с задачами получения, сохранения данных в СУБД. Эта технология помогает удалить или инкапсулировать зависящий от поставщика SQL-код, а также решает стандартную задачу преобразования типов Java-данных в типы данных SQL и наборов данных из табличного представления в объекты Java-классов.

Установка

1. Загрузить и установить сервер баз данных MySQL с сервера http://dev.mysql.com/

2. Загрузить и подключить Hibernate с сервера

http://hibernate.org/

3. Загрузить и подключить JDBC-драйвер, используемой базы данных
в tomcat/common/lib (или, в случае использования Ant, в папку lib проекта), в данном случае mysql-connector-java-3.1.12.jar. Обычно JDBC-драйвер предоставляется на сайте разработчика сервера баз данных.

Библиотека hibernate3.1.3.jar является основной. Кроме нее, устанавливается еще целый ряд необходимых библиотек из дистрибутива Hibernate,
а именно:

cglib.jar, commons-collections.jar, commons-logging.jar, jta.jar, dom4j.jar, log4j.jar, а также библиотеки antlr.jar, asm.jar, asm-attrs.jar для запуска приложения из-под Apache Ant.

dom4j.jar – отвечает за разбор файлов XML-настроек и файла XML-mapping метаданных;

CGLIB (cglib.jar) – эта библиотека используется для генерации кода для расширения классов во время исполнения;

commons-collections.jar – вспомогательная библиотека из проекта Apache Jakarta Commons;

commons-logging.jar – вспомогательная библиотека для журналирования событий из проекта Apache Jakarta Commons;

ODMG4 (odmg.jar) – пакет, необходимый для mapping-коллекций;

EHCache (ehcache.jar) – кэш-провайдер второго уровня;

ANother Tool for Language (antlr.jar) – инструмент, позволяющий создавать трансляторы, компиляторы и распознаватели для текстов, содержащие Java, C#, C++ или Python код;

ASM (asm.jar, asm-attrs.jar) – библиотека, предназначенная для динамического создания классов, а также их динамической корректировки.

Создание простейшего приложения

Hibernate использует JDBC-соединения для вызова SQL-запросов к базе данных, поэтому необходимо указать настроенный пул JDBC-соединений либо использовать один из поддерживаемых пулов, встроенных в Hibernate (C3P0, Proxool). Tomcat настраивает и дает доступ к пулу соединений, используя встроенный DBCP пул, а Hibernate запрашивает данные соединения через интерфейс JNDI. Tomcat связывает пул соединений с JNDI, объявляя ресурс в свой основной конфигурационный файл Tomcat 5.5/conf/server.xml, в виде:

<Context path="/test_db" docBase="test_db">

<Resource name="jdbc/test_db" scope="Shareable"

type="javax.sql.DataSource"/>

 

<ResourceParams name="jdbc/test_db">

<parameter>

<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory </value>

</parameter>

<Context/>

Далее следует настроить конфигурационный файл Hibernate на использование пула соединений. Этот файл должен располагаться в каталоге
WEB-INF/classes и иметь имя hibernate.cfg.xml.

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>

<property name="connection.datasource"> java:comp/env/jdbc/test_db</property>

<property name="show_sql">true</property>

<property name="dialect"> net.sf.hibernate.dialect.MySQLDialect</property>

<property name="hibernate.connection.password">pass</property>

<property name="hibernate.connection.username">root</property>

 

<mapping resource="courses/hiber/Course.hbm.xml"/>

<mapping resource="courses/hiber/Student.hbm.xml"/> </session-factory>

</hibernate-configuration>

Здесь указан способ получения JDBC-соединения, включено логирование команд SQL, настроен диалект SQL.

Для настройки параметров работы Hibernate вместо конфигурационного XML-файла можно использовать файл hibernate.properties в WEB-INF/ classes (в случае, если приложение разбито по пакетам, необходимо это учитывать, чтобы данный файл был доступен):

##Данная директива позволяет делать автозамену значений ##полей класса в другие значения для удобства хранения
в ##базе данных

hibernate.query.substitutions true 1, false 0, yes 'Y',
no 'N'

##Прописывается JDBC-драйвер для базы данных MySQL

hibernate.dialect net.sf.hibernate.dialect.MySQLDialect

hibernate.connection.driver_class com.mysql.jdbc.Driver

##Прописывается адрес для подсоединения к серверу

##баз данных

##Формат подключения следующий:

##hibernate.connection.url ##jdbc:mysql://АДРЕС_МАШИНЫ:НОМЕР_ПОРТА/ИМЯ_БАЗЫ_ДАННЫХ? ##autoReconnect=Автоматически переподключатся к базе данных ##или нет, при потере соединения. Этот параметр должен быть ##выставлен в true, т.к. отключение от БД происходит в ##случае 30-ти минутного простоя.

##Параметр useUnicode=true отвечает за использование

##кодировки unicode при работе с БД.

##Параметр characterEncoding=Cp1251 отвечает за кодировку ##при передаче данных в базу данных

hibernate.connection.url jdbc:mysql://localhost:3306/test_db?autoReconnect =true&useUnicode=true&characterEncoding=Cp1251

##Имя пользователя при подключении к БД

hibernate.connection.username root

##Пароль при подключении к БД

hibernate.connection.password pass

##Размер пула соединений к БД

##Обычно используется значение в 50 соединений при

##создании реальных проектов

hibernate.connection.pool_size 50

##Кеширование запросов. Кеш повышает быстродействие при ##использовании большого числа однотипных запросов к базе ##данных

hibernate.statement_cache.size 20

##Директива, которая используется при debug. Результатом ##является то, что все запросы, которые осуществляются
к базе ##данных, будут показаны (или нет) разработчику.

hibernate.show_sql true

Как еще одну альтернативу (не очень удачную) можно рассматривать метод, генерирующий объект java.util.Properties. Например, в виде:

private Properties createProperties() {

Properties properties = new Properties();

properties.setProperty(

"hibernate.dialect",

"net.sf.hibernate.dialect.MySQLDialect");

properties.setProperty(

"hibernate.connection.driver_class",

"com.mysql.jdbc.Driver");

properties.setProperty(

"hibernate.connection.url",

"jdbc:mysql://localhost/test_db");

properties.setProperty(

"hibernate.connection.username", "root");

properties.setProperty(

"hibernate.connection.password", "pass");

return properties;

}






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных