第三章的第一个示例,主要功能为完成对Message信息的保存和查询出所有Message的列表。
目录结构如下:
--src
|----sample
| |----entity
| | |----Message.java
| | |----Message.hbm.xml
| |
| |----ListMessages.java
| |----PopulateMessages.java
|
|----log4j.properties
|----hibernate.cfg.xml
需要用到的类库有:antlr.jar、asm.jar、cglib.jar、commons-collections.jar、commons-logging.jar、dom4j.jar、hibernate3.jar、jta.jar、log4j.jar、mysql-connector-java-bin.jar
用到的相关sql:
DROP database IF exists hibernate_test;
CREATE database hibernate_test;
use hibernate_test;
create table message(
id int(11) auto_increment,
message char(100),
primary key(id)
);
Message.java:
package sample.entity;
public class Message {
private String message;
public Message(String message) {
this.message = message;
}
Message() {
}
public String getMessage() {
return this.message;
}
public void setMessage(String message) {
this.message = message;
}
}
Message.hbm.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">
<hibernate-mapping>
<class name="sample.entity.Message" table="message">
<id column="id" unsaved-value="-1" type="long">
<generator class="native" />
</id>
<property name="message" column="message" type="string" />
</class>
</hibernate-mapping>
PopulateMessages.java:
package sample;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import sample.entity.Message;
public class PopulateMessages {
public static void main(String[] args) {
System.out.println("start...............");
SessionFactory factory = new Configuration().configure().buildSessionFactory();
Session session = factory.openSession();
session.beginTransaction();
Message m1 = new Message("Hibernated a message on " + new Date());
session.save(m1);
session.getTransaction().commit();
session.close();
System.out.println("end...............");
}
}
ListMessages.java:
package sample;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import sample.entity.Message;
public class ListMessages {
public static void main(String[] args) {
SessionFactory factory = new Configuration().configure().buildSessionFactory();
Session session = factory.openSession();
List<Message> messages = session.createQuery("from Message").list();
System.out.println("Found " + messages.size() + " message(s):");
Iterator<Message> i = messages.iterator();
while (i.hasNext()) {
Message msg = i.next();
System.out.println(msg.getMessage());
}
session.close();
}
}
log4j.properties:
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.rootLogger=warn, stdout
log4j.logger.org.hibernate=info
### log JDBC bind parameters ###
log4j.logger.org.hibernate.type=info
log4j.logger.org.hibernate.tool.hbm2ddl=debug
hibernate.cfg.xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.url">
jdbc:mysql://localhost/hibernate_test
</property>
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.pool_size">0</property>
<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>
<!-- You will usually want to set this to true while debugging Hibernate queries -->
<property name="hibernate.show_sql">true</property>
<!-- "Import" the mapping resources here -->
<mapping resource="sample/entity/Message.hbm.xml" />
</session-factory>
</hibernate-configuration>
分享到:
相关推荐
《邹波老师Hibernate教程学习笔记》是针对Java开发者深入理解并掌握ORM框架Hibernate的重要参考资料。这是一份由个人在观看邹波老师的Hibernate视频教程后精心整理的学习笔记,旨在帮助初学者和有一定基础的程序员更...
### Hibernate学习教程和笔记知识点概览 #### 一、Hibernate简介 **定义**: Hibernate是一种用于Java应用程序中的对象关系映射(ORM)框架,它提供了一种机制,将面向对象的数据模型映射到基于SQL的关系型数据库中。 ...
【hibernate框架开发2016版视频 四天学习笔记完整版】 在软件开发领域,特别是Java Web开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作,使开发者可以更专注于业务逻辑而不是...
《传智播客2016 Hibernate框架学习笔记》是一份详实的教程,旨在帮助初学者和进阶者深入理解和掌握Hibernate框架。该资源包含了四天的学习内容,分别是day01、day02、day03和day04,涵盖了从基础到高级的多个主题。...
《Hibernate学习笔记——马士兵教程解析》 在Java开发领域,ORM(Object-Relational Mapping)框架的使用已经非常普遍,其中Hibernate作为一款优秀的ORM框架,因其强大的功能和易用性深受开发者喜爱。本文将根据马...
《马士兵Hibernate学习笔记》是一份深入浅出的教程,旨在帮助初学者掌握Hibernate这一流行的Java持久化框架。Hibernate是一个对象关系映射(ORM)工具,它允许开发者用面向对象的方式来操作数据库,从而减少了传统...
《Hibernate 3.2 详细教程及课程笔记》是一份专为Java开发者设计的深入学习指南,旨在帮助已经具备Java基础知识的学习者熟练掌握Hibernate框架,并能够将其应用到实际的项目开发中。本教程覆盖了从基础概念到高级...
《韩顺平.2011版.hibernate笔记》是一份针对Hibernate框架的详细学习资料,由知名IT讲师韩顺平在2011年编撰而成。Hibernate是Java开发领域中广泛使用的对象关系映射(ORM)框架,它极大地简化了数据库操作,使开发者...
4. **Hibernate基础配置** 这是学习Hibernate的基础,包括设置hibernate.cfg.xml配置文件,定义实体类,以及在XML或注解中声明实体与表的映射关系。 5. **ID生成策略** Hibernate提供了多种ID生成策略,如AUTO、...
《马士兵Hibernate学习笔记》是一份详尽的教程,涵盖了Hibernate框架的核心概念和技术要点。Hibernate作为Java领域中广泛使用的对象关系映射(ORM)框架,它有效地解决了Java应用程序与数据库之间的数据交互问题,...
【Hibernate学习笔记(1-13)】是传智播客李勇的教程,涵盖了Hibernate框架的基础到进阶内容。Hibernate是一个流行的ORM(对象关系映射)框架,它旨在解决Java面向对象编程与关系型数据库之间的模型不匹配问题,即...
【描述】"传智博客Hibernate框架2016版笔记资料day03~04" 提到了连续两天的学习内容,这意味着这份资料可能包括了从基础到进阶的全面讲解。通常,Hibernate的学习会涵盖配置、对象关系映射(ORM)、实体管理、会话...
1. Hibernate基础:了解Hibernate的安装配置、基本架构和工作原理。 2. ORM概念:理解对象关系映射的基本思想,如何将Java对象与数据库表进行映射。 3. Session与Transaction:学习Hibernate中的Session接口,以及...
**一、Hibernate基础教程** Hibernate的核心概念是持久化类和映射文件。持久化类是代表数据库表的Java类,而映射文件(通常是.hbm.xml格式)定义了这些类与数据库表之间的关系。在Hibernate中,我们通过...
这份笔记涵盖了从基础到高级的Hibernate应用,包括配置、实体管理、查询语言、缓存策略等多个方面,旨在帮助读者深入理解和熟练运用Hibernate。 首先,笔记可能从Hibernate的核心概念开始介绍,如Entity(实体)、...
《Hibernate学习笔记》是一份深度剖析Hibernate框架的教程,旨在为初学者提供全面而深入的指导,帮助他们快速掌握这个强大的Java对象关系映射(ORM)工具。Hibernate作为Java领域中广泛使用的ORM解决方案,它极大地...
这个“struts+spring+hibernate学习笔记”应该涵盖了这三个框架的基础知识以及如何将它们整合使用的详细教程。 Struts是一个基于MVC(Model-View-Controller)设计模式的开源框架,主要用于控制Web应用的流程。它...
《Hibernate5.0四日学习精粹:JavaEE49期黑马程序员教程解析》 ...通过黑马程序员的JavaEE49期教程,我们可以系统地学习Hibernate,提升自己的开发技能,为构建高效、稳定的Java应用打下坚实的基础。
【标题】"传智博客Hibernate框架2016版笔记资料day01~02" 涵盖了对Hibernate框架的基础至进阶知识的学习,是针对2016年版本的一份详实教程。Hibernate作为Java领域内的一款强大、流行的持久化框架,它简化了数据库...
hibernate笔记.pdf 和 Hibernate学习笔记.pdf** 这两份笔记可能由经验丰富的开发者整理,包含他们在学习和使用Hibernate过程中积累的实用技巧和常见问题解决方案。这些个人经验往往能提供独特的视角和实战经验,...