http://www.youku.com/playlist_show/id_3629207_ascending_1_page_1.html
对象模型【面向对象】:
表示层 struts2
业务层 spring
持久层 Hibernate 【'冬眠' ,把实体对象【对象模型】存在数据库【关系模型】里,解决'阻抗不匹配'--对象到关系的o/r映射】 还有类
似的SUN JDO,apache OJB,TOPLINK,EJB,JPA 好处:操作对象一样来操作关系,更对象化;轻量级框架:没有侵入性,可移植性;
O/R的缺点:批量操作
POJO:最纯粹的对象,不需要继承第三方框架的类或接口。
关系模型【面向关系】:
数据层
ooa 面向对象的分析
ood 面向对象的设计
oop 面向对象的开发
-----------------------------建立java project: 附eclipse项目下载TestHibernate.rar
-----------1 导包
hibernate 包
mysql包
-----------2 配置hibernate.cfg.xml
参考hibernate.properties
适配器dialect--mysql找到mysql的分页等
<!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="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/shoppingdb</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
</session-factory>
</hibernate-configuration>
-----------3 配置日志调试
拷贝log4j.properties到src下即可
-----------4 对象实体类User.java POJO对象
package com.soyo.TestHernate.entity;
public class User {
private int id;
private String username;
private String password;
private String ctime;
private String etime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getCtime() {
return ctime;
}
public void setCtime(String ctime) {
this.ctime = ctime;
}
public String getEtime() {
return etime;
}
public void setEtime(String etime) {
this.etime = etime;
}
}
-----------5 映射文件User.hbm.xml,和实体类放在一个目录下
参考hibernate-distribution-3.3.2.GA-dist\hibernate-distribution-
3.3.2.GA\project\testsuite\src\test\java\org\hibernate\test\interceptor\user.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 >
<!-- table指表名 -->
<class name="com.soyo.TestHernate.entity.User" table="users">
<!-- 主键id -->
<id name="id" column="id"> <generator class="native"/> </id>
<!-- 一般属性 -->
<property name="username"/>
<property name="password"/>
<property name="ctime"/>
<property name="etime"/>
</class>
</hibernate-mapping>
-----------6 将映射文件User.hbm.xml加入到配置hibernate.cfg.xml文件中
修改hibernate.cfg.xml:
<mapping resource="com/soyo/TestHernate/entity/User.hbm.xml"/>
</session-factory>
-----------7 使用Hibernate类把对象模型变为关系模型【生成表】 可执行ExportDB.JAVA,带main函数
package com.soyo.TestHernate.entity;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class ExportDB {
public static void main(String[] args) {
Configuration cfg = new Configuration().configure();//configure()调取xml
SchemaExport export = new SchemaExport(cfg);
export.create(true, true);
}
}
ExportDB.JAVA:eclpise ->run application
就可自动创建表
-----error:java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
需另外下载slf4j-nop-1.5.2.jar引入到工程中才行
------------------8 开发客户端Clents.java 带main函数
一个数据库对应一个SessionFactiory
package com.soyo.TestHernate.entity;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class Clents {
/**
* @param args
*/
public static void main(String[] args) {
Configuration cfg = new Configuration().configure();//configure()调取xml
SessionFactory factiory = cfg.buildSessionFactory();
Session session = null;
try{
session = factiory.openSession();
session.beginTransaction();//开启事务
User user=new User();
//user.setId(1);
user.setUsername("admin");
user.setPassword("admin");
user.setCtime("ctime");
user.setEtime("etime");
session.save(user);
session.getTransaction().commit();//提交事务
}catch (Exception e) {
System.err.println(e.getMessage());
session.getTransaction().rollback();//回滚事务
}finally{
if(session!=null)
{
session.close();
}
}
}
}
- 大小: 12.9 KB
分享到:
相关推荐
标题"hibernate入门数据简单插入"指的是使用Hibernate框架进行数据库的基本操作,特别是数据的插入。Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者在应用程序中处理数据库对象,而无需直接编写...
"Hibernate入门到精通" Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 ...
标题"hibernate入门一:单表操作(单对象操作)"表明这篇文章主要介绍的是Hibernate框架的基础使用,特别是针对数据库单表的简单操作,如增删改查,以及如何处理单个数据库对象。描述部分为空,但通常这样的教程会...
以上就是Hibernate的基础入门知识,包括其概念、核心组件以及简单的使用示例。随着对Hibernate的深入学习,你会发现它还支持更高级的功能,如级联操作、多对一、一对多等复杂关系映射、缓存机制、延迟加载等,这些都...
### Hibernate基础快速入门详解 #### 一、框架与Hibernate简介 **框架定义**: 框架是一种预先设计好的软件架构,用于解决特定领域内的常见问题。它可以极大地简化开发过程并提高开发效率。 - **为什么使用框架?**...
hibernate 入门:10分钟跑起这个hibernate 示例程序 (图解、附源码http://download.csdn.net/source/650851)
本篇文章将详细介绍如何使用Hibernate和Maven进行一个简单的入门级项目搭建。 ### 1. Hibernate简介 Hibernate是Java世界中的一款主流ORM框架,它通过提供API和配置文件将Java对象与数据库表对应起来,实现了对象...
官网hibernate:问题说明: 1、安装整合通过; 2、整合时注意javassist-3.22.0-GA.jar与struts2.4的 javassist-3.20.0-GA.jar重复; 3、整合所需基础包以及整合需要的外部包,自己放到一个新建文件夹中,方便大家...
通过深入学习和实践这个入门案例,你将能够熟练掌握Hibernate的基本操作,为进一步学习更复杂的数据库操作和高级特性打下坚实基础。记得在实践中不断尝试和调试,以便更好地理解和掌握Hibernate的精髓。
### MyEclipse+Hibernate快速入门知识点详解 #### 一、前言 本文档旨在通过一个简单易懂的方式,介绍如何在MyEclipse环境下配置并使用Hibernate框架。这是一份非常适合初学者使用的指南,特别是对于那些希望快速...
4. **生成POJO和映射文件**:使用Hibernate的逆向工程功能,从USERINFO表自动生成对应的Java类(Userinfo.java)和映射文件(Userinfo.hbm.xml)。选择表,指定源文件存放位置和Java包,然后按照向导的提示完成生成...
《妙解Hibernate 3.x:叩响面向对象思想之门》是一本深入解析Hibernate框架的专著,旨在帮助读者理解并掌握面向对象编程思想在实际开发中的应用,尤其是在使用Hibernate时如何有效地进行数据持久化。这本书是面向...
本压缩包提供的是Hibernate入门所需的jar包,包括了Hibernate的核心库以及与之配合使用的相关组件。让我们深入探讨一下这些jar包以及它们在Hibernate中的作用。 1. Hibernate核心库: - `hibernate-core.jar`:这...
通过这个"hibernate3完整入门示例含jar包",你可以全面了解Hibernate3的基本用法,并动手实践,为以后的项目开发打下坚实的基础。在实际应用中,还要不断学习和理解更高级的特性,如缓存策略、级联操作、多表关联等...
### Hibernate基础知识点详解 #### 一、什么是对象关系映射(ORM)以及为什么使用ORM? 在企业级应用开发中,持久层(persistence layer)占据了非常重要的地位。它主要负责处理与数据库之间的交互,包括数据的...
总结来说,"hibernate helloworld入门级代码"是一个基础的教程,涵盖了Hibernate的基本元素:配置、实体、映射、Session、Transaction和查询。通过这个示例,学习者可以了解Hibernate如何简化Java应用与数据库之间的...
### Hibernate入门知识点详解 #### Hibernate概述与ORM思想 - **定义**:Hibernate是一个开源的、轻量级的对象关系映射(Object-Relational Mapping,简称ORM)框架,它主要应用于JavaEE架构中的DAO(Data Access ...
而在插入、修改和删除操作中,我们需要添加不同的注解: @Transactional(readOnly=false, propagation=Propagation.REQUIRED) public void insert(NxSbUser entity) { dao.insert(entity); } 在上面的代码中,...
本文将深入介绍Hibernate的基础配置和功能,帮助初学者快速入门。 一、ORM框架与Hibernate ORM框架如Hibernate的核心思想是通过将Java对象映射到数据库表,使得开发者可以专注于业务逻辑,而不是繁琐的SQL语句。...