`
accpzgp
  • 浏览: 14260 次
  • 性别: Icon_minigender_1
  • 来自: 天津
最近访客 更多访客>>
社区版块
存档分类
最新评论

Hibernate基础学习一

 
阅读更多

目录结构如下:
--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:

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;
}
}

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代码
<?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>

<?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:

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...............");
}
}

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:

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();
}
}

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:

Java代码
### 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

### 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代码
<?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框架中关于hibernate的基础学习

    Hibernate基础学习源码

    本资源“Hibernate基础学习源码”提供了五个不同阶段的学习示例,分别命名为Hibernate_01至Hibernate_04以及Hibernate_M2M,涵盖了Hibernate的基本概念、配置、实体映射、CRUD操作以及多对多关系的处理。 1. **...

    hibernate学习资料大全

    1. **对象关系映射(ORM)基础**: Hibernate 提供了一种将Java对象模型与关系数据库之间的映射机制,使得开发者可以使用面向对象的方式来操作数据库,而无需关心底层SQL语句。理解ORM的概念是学习Hibernate的第一...

    Hibernate 基础.ppt

    本PPT由传智播客制作,旨在帮助学习者掌握Hibernate的基础知识和应用。 首先,我们需要理解基于B/S(Browser/Server)的三层架构。这种架构通常分为展现层、业务逻辑层和数据持久层: 1. **展现层**:负责与用户...

    struts+Hibernate基础学习

    在"Struts+Hibernate基础学习"这个主题中,我们将深入探讨这两个框架的结合使用,以及如何通过它们来实现基本的CRUD(Create,Read,Update,Delete)操作。 首先,让我们了解Struts框架。Struts提供了一种组织和...

    Hibernate学习笔记整理

    Hibernate学习笔记整理 以下是 Hibernate 框架的详细知识点: Hibernate 介绍 Hibernate 是一个 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到数据库表中。它提供了一个简洁的方式来访问和操作...

    Hibernate学习文档集合

    本集合包含了三个关键的学习文档,分别关注于Hibernate的操作基础、对象关系映射和高级查询技巧,是深入理解Hibernate不可或缺的资料。 一、《Hiberhate的增、删、改、查、动态、查询、分页.doc》 这份文档详细阐述...

    Hibernate基础学习

    【Hibernate基础学习】 在本文中,我们将探讨Hibernate框架的基础知识,包括其原理、优缺点以及在MyEclipse环境中如何配置和使用。Hibernate是一个强大的ORM(对象-关系映射)工具,它简化了Java应用程序与关系...

    HIbernate基础包

    在本"Hibernate基础包"中,包含了用于SSH开发所需的全部核心库,使得开发者能够快速搭建项目并进行数据库交互。 首先,Hibernate的核心功能在于它的ORM(对象关系映射)机制。ORM允许开发者通过Java对象来操作...

    Hibernate学习笔记特别详细

    以上便是对Hibernate基础的概览,实际开发中,还需要深入了解实体关系映射、集合映射、级联操作、缓存机制、事务管理、性能优化等方面的知识,才能更好地利用Hibernate提升开发效率并保证应用程序的稳定运行。在学习...

    Hibernate学习.pdf

    ### Hibernate学习知识点详解 #### 1. Hibernate简介与安装配置 **标题:** Hibernate学习 **描述:** Hibernate 学习 Hibernate学习.pdf **标签:** Hibernate 学习 Hibernate学习.pdf **知识点详解:** ####...

    hibernate学习总结文档

    在 JDBC 基础上,Hibernate 提供了更方便的事务控制方法,如 `Session.beginTransaction()` 和 `Transaction.commit()`。 **性能优化** - **批处理**:通过设置批处理大小,一次执行多个 SQL 语句,减少数据库访问...

    hibernate学习资料大合集

    本资料合集涵盖了关于Hibernate的各种学习资源,包括PDF、CHM和Word文档,旨在帮助开发者深入理解和掌握Hibernate这一强大的Java持久化框架。Hibernate作为一个对象关系映射(ORM)工具,极大地简化了Java应用程序与...

    Hibernate学习指南pdf

    ### Hibernate学习指南精要 #### Hibernate概述 Hibernate是一款开源的持久层框架,专注于提供对象-关系映射(Object/Relational Mapping,简称ORM)的解决方案。它的设计目标是为了简化Java应用与关系型数据库...

    hibernate框架基础教程适合新手

    通过阅读`纯手写hibernate.txt`文档,观看`hibernate基础day01.wmv`视频,实践`hibernate-hand`中的示例,你可以逐步掌握Hibernate的基本用法和核心概念。记住,理论学习与实际操作相结合,才能更好地理解和掌握这个...

    北大青鸟Hibernate学习资料

    本学习资料集合了多个关于Hibernate的重要主题,包括对象关系映射的基础、持久化机制、查询语言以及不同类型的关联关系,旨在帮助学习者深入理解并掌握Hibernate的核心概念和技术。 1. **对象状态及一对多关联** ...

    非常好的Hibernate学习资料

    1. **对象关系映射(ORM)**:ORM是Hibernate的基础,它通过将Java对象映射到数据库表,实现了对象与数据的透明转换,使得开发人员无需关注底层SQL,更专注于业务逻辑。 2. **配置文件**:Hibernate的配置文件...

    Hibernate4学习基础教程(26集)

    内容涵盖安装 Hibernatetools 插件、Session 核心方法、持久化对象生命周期、对象关系映射、检索策略、检索方式、Hibernate 一\二级缓存、管理 Session、批量处理等 Hibernate 企业级开发的核心技术。

    hibernate基础技术

    Hibernate 是一个开源的对象关系...以上内容涵盖了Hibernate基础技术的核心要点,通过学习和实践,开发者能够熟练地利用Hibernate进行数据库操作,提升开发效率。记得每个概念都要配合实例进行练习,以加深理解和掌握。

Global site tag (gtag.js) - Google Analytics