Ноль, о спячке
С Worderate означает зимнюю гибернацию, которая относится к зимней спячке животных, но Hibernate, обсуждаемый в этой статье. Hibernate - это проект с открытым исходным кодом. Это структура объектно-реляционных моделей и имеет очень легкую инкапсуляцию JDBC. Программисты могут использовать объектно -программирование для развития во время разработки.
Адрес загрузки: http://hibernate.org/orm/downloads/
Примечание: разница между легким и тяжелым весом. Легкий каркасный пакет меньше и прост в использовании, и его прост в тестировании и обладает высокой эффективностью разработки. Пакет тяжелого веса больше, а бизнес -процесс внутренней упаковки более сложный и сложный для тестирования, такой как стойки.
Реляционная модель объекта:
Стрледник реализует картирование объектно-реляционных моделей. При программировании программисты могут напрямую использовать объектную модель для работы с базой данных. ИТ -легкий инкапсулирует JDBC, а также инкапсулирует операторы SQL для операций базы данных, которые просты в использовании. Несмотря на то, что он имеет много преимуществ, будет трудно настроить с помощью операторов с характеристиками базы данных, таких как хранимые процедуры и т. Д.
Плюсы и минусы Hibernate:
(1) Преимущества
A. Повышение производительности;
B. Сделайте развитие более объектифицированным (несоответствие импеданса);
C. Портативность;
D. Нет инвазивности и поддерживает прозрачность и настойчивость.
(2) Недостатки
A. Заявления, использующие характеристики базы данных, будут трудно настроить;
B. Есть проблемы с крупномасштабными обновлениями данных;
C. В системе существует большое количество статистических функций запроса.
2. Пример гиберната
Приведенная выше статья содержит некоторые предварительные интерпретации Hibernate. С теорией, безусловно, есть больше практики. Вы не понимаете его удобства без использования Hibernate. Это как человек, который любит пить вкусы Moutai в первый раз. Только после его использования вы можете понять это глубже.
В следующем примере используется база данных MySQL. База данных с именем hibernate_first создана в MySQL. Пользовательский таблица создается с помощью файла отображения Hibernate с использованием метода программирования объекта и добавить информацию в пользовательскую таблицу.
Конкретные шаги:
(1) создать обычное приложение Java;
(2) Добавьте пакет JAR с Hibernate. При добавлении пакета JAR вам необходимо представить Hibernate.jar, сторонние пакеты JAR, на которые ссылается Hibernate, и JAR-пакеты, подключенные к Hibernate и MySQL.
(3) Добавьте файл конфигурации подключения к базе данных hibernate.cfg.xml.
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype hibernate-configuration public "-// конфигурация Hibernate/Hibernate DTD 3.0 // en" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtdd"> <hibrence-configuration> <hibrence-configuration> <hibrernate-configuration-3.0.dtdd "> <hibrence-configuration-3.0.dtd" <name = "hibernate.connection.driver_class"> com.mysql.jdbc.driver </property> <property name = "hibernate.connection.url"> jdbc: mysql: // localhost: 3306/hibernate_first </propetorment> <property> hibernate.con.coname.ascernection. name = "hibernate.connection.password"> ab12 </property> <!-Диалект: диалект, инкапсулированный базовый API, аналогичный времени выполнения, преобразует базу данных в соответствующий язык в конфигурации-> <свойство имя = "hibernate.dialect"> org.hiberate.dialect.mysqladial </hibernate. name = "hibernate.show_sql"> true </property> <property name = "hibernate.format_sql"> true </property> <mapping resource = "com/hibernate/user.hbm.xml"/> </session-factory> </hibernate-configuration>>
(4) Создайте имя класса объектов как user.java
пакет com.hibernate; импортировать java.util.date; Пользователь открытого класса {Private String ID; public String getId () {return id; } public void setId (String id) {this.id = id; } public String getName () {return name; } public void setName (string name) {this.name = name; } public String getPassword () {return пароль; } public void setPassword (String password) {this.password = password; } public date getCreatetime () {return createTime; } public void setCreatetime (дата CreateTime) {this.createTime = createTime; } public date getExpireTime () {return expiretime; } public void setExpireTime (date extireTime) {this.expiretime = expiretime; } private String name; Private String Password; частная дата создания времени; Частная дата истекает время; } (5) Создайте файл отображения user.hbm.xml класса пользовательских объектов, заполните сопоставление класса объектов и добавьте файл в файл hibernate.cfg.xml.
<? xml version = "1.0"?> <! Doctype Hibernate Mapping Public "-// Hibernate/Hibernate Mapping Dtd 3.0 // en" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-сгенерировано 2014-4-30 15:39:3333333333.0.0. <Hibernate Mapping> <class name = "com.hibernate.user"> <id name = "id"> <generator/> </id> <name = "name"/> <name = "password"/> <name = "createtime"/> <name = "expireTime"/> </> </hibernate-mapping>
(6) Напишите exportdb.java и преобразуйте файл отображения в соответствующий DDL.
пакет com.hibernate; Импорт org.hibernate.cfg.configuration; Импорт org.hibernate.tool.hbm2ddl.schemaexport; открытый класс exportdb {public static void main (string [] args) {// Сначала объявить, чтобы получить файл конфигурации // чтение по умолчанию hibernate.cfg.xml configuration configuration cfg = new configuration (). configure (); // Экспорт файла чтения XML в DDL SchemeAxport Export = new SchemeAxport (CFG); export.create (true, true); }} Запустите класс ExportDB, чтобы завершить создание таблицы баз данных. Вид после просмотра конкретной операции в CMD выглядит следующим образом:
Приведенный выше пример завершает работу подключения к базе данных и создание таблиц в базе данных. После создания таблицы вам необходимо добавить данные в таблицу, создать клиент клиента и добавить новую информацию пользователя в таблицу пользователя. Конкретный код заключается в следующем:
пакет com.hibernate; импортировать java.util.date; Импорт org.hibernate.session; Импорт org.hibernate.sessionFactory; Импорт org.hibernate.cfg.configuration; public Class Client {public static void main (string [] args) {// read hibernate.cfg.xml файловой конфигурация cfg = new configuration (). configure (); // Создать SessionFactory, который эквивалентен зеркалу базы данных. Поскольку SessionFactory-это зеркало, лучше всего его создать один раз/обычно. SessionFactory Factory = cfg.BuildSessionFactory (); // Сессионная сеанс сеанса = null; try {session = factory.opensession (); // Открыть сеанс транзакции.beginTransaction (); Пользователь пользователь = новый пользователь (); user.setName ("Zhang San"); user.setpassword ("123"); user.setCreatetime (new Date ()); // Сохранить сеанс пользовательского объекта.save (user); // COMMITE SESSION. GetTransaction (). Commit (); } catch (Exception e) {e.printstacktrace (); // print user message // session transaction. } наконец {if (session! = null) {if (session.isopen ()) {// close session.close (); }}}}}}}}} Просмотреть добавленную информацию в MySQL, как показано на следующем рисунке:
Информация о вышеуказанной операции была записана в базу данных. После сохранения данных в базе данных соответствующие строки генерируются в базе данных. Однако это еще не было спасено. Вместо этого в базе данных существуют соответствующие строки данных. Данные отправляются в базу данных после завершения представления транзакции с использованием сеанса.