- 浏览: 515502 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (136)
- SOS经典收藏 (9)
- 好文收藏 (3)
- 技术杂烩 (6)
- SQL常用操作 (8)
- J2EE开发错误 (11)
- Java开发点滴_SSH (20)
- 数据库维护 (11)
- 网络相关 (1)
- WEB JS_CSS_DIV (10)
- 加密解密 (1)
- Swing (2)
- C&C++ (8)
- Linux (2)
- 软件工程 (5)
- Util (3)
- 我的实例 (3)
- Office办公常用 (3)
- JSP_Servlet (3)
- 开发手记 (4)
- Java基础 (3)
- Oracle技术 (6)
- 基础文档库 (9)
- 设计模式 (1)
- weblogic8.1启动的时候,项目报错,找不到Class (0)
- Office应用 (1)
- VM虚拟机技术 (1)
- PHP开发日记 (0)
最新评论
-
MoonLord:
其实不需要删文件,修改一个值就好了,参考:https://gi ...
Beyond Compare报应用程序发生错误 不能打开解决办法 -
别拿土豆不当马铃薯:
${pageContext.request.contextPath} JSP取得绝对路径 -
hysunny0923:
不需要DBUtilis.java啦学到很多~感谢分享~~
第一个JSP+Servlet+JavaBean+JDBC示例程序 -
zsxy168:
少了DBUtils.java文件
第一个JSP+Servlet+JavaBean+JDBC示例程序 -
little_demonye:
写得好详细,清楚了很多,太感谢啦
第一个JSP+Servlet+JavaBean+JDBC示例程序
什么是POJO?
POJO是最纯粹的Java对象,也就是说这个对象没有继承任何第三方框架的任何类和实现他的任何接口。
轻量级框架:没有侵入性,也就是说没侵入Hibernate任何东西。轻量级框架最显著的一个特点就是没有侵入性,没有侵入性好在那里,就是移植性就会比较好。
类似Hibernate框架适合在那些情况下使用:
★合适的情况
S征对某一个对象,简单的把它查询下来,然后再对它进行编辑,修改,而且编辑修改只是对单个对象,而不是说对所有的对象批量修改,批量的删除等等,在这样的情况下是适合的。
S对象之间有着很清晰的关系。如:User和Group,它们有很清晰的关系,多个用户属于一个组,一个组下有多个用户。如果从关系上来看,多个用户属于一个组,我们可以映射成多对一关系,叫Many to One这样一个关系;那么从组到用户来看,一个组下有多个用户,那么这是一对多的关系,One to Many,这是一个很正常的关系。但如果这种关系已经很错综复杂了,那么其实并不适合使用类似Hibernate这种框架,也就是O-R映射工具。
★不适合的情况:
批量的对数据时行修改的时候,在这种情况下Hibernat是不适合的,还有Apache OJB、JDO等框架都不适合,这是O-R构架的一个弱点。
所谓的映射就是:这个类要存到那个表里,这个类中的属性要存在那个字段上,是这样一个过程。
Hibernate所需要加的Jar包:
1.)hibernate核心Jar包-hibernate3.jar,位于hibernate-x.x下
2.)hibernate-x.x下的lib包里的所有Jar包
3.)相应的数据库驱动程序。
第一个hibernate项目
1、新建java项目
2、创建User Library,加入如下jar
* HIBERNATE_HOME/hibernate3.jar
* HIBERNATE_HOME/lib/*.jar
* MySql jdbc驱动
3、创建hibernate配置文件hibernate.cfg.xml,为了便于调试最好加入log4j配置文件
例如:
<!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.connection.url">jdbc:mysql://localhost/qting</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password"></property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.show_sql">true</property> <mapping resource="com/bjsxt/hibernate/User.hbm.xml"/> </session-factory> </hibernate-configuration>
4、定义实体类
也就是持久类,POJO类,即要存入数据库的类
5、定义User类的映射文件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> <class name="com.bjsxt.hibernate.User"> <id name="id"> <generator class="uuid"/> </id> <property name="name"/> <property name="password"/> <property name="createTime"/> <property name="expireTime"/> </class> </hibernate-mapping>
6、将User.hbml.xml文件加入到hibernate.cfg.xml文件中
<mapping resource="com/bjsxt/hibernate/User.hbm.xml"/>
7、编写hbm2ddl工具类,将实体类生成数据库表
这是一个工具类,专门把对象模型生成为关系模型,也就是说对象生成表,这样一个模型,这个工具类在一个项目中写一次就可以了。其实这个类起的作用就是将Hibernate.cfg.xml转化为DDl。
package pserBean; import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; public class ExportDB { public static void main(String[] args) { //读取hibernate.cfg.xml文件,因为Hibernate默认读取的是Hibernate.prefors文件,所以得在后面加上 . Configure(); Configuration cfg = new Configuration().configure(); //编写工具类,这个类能将对象模型转换为关系模型。 SchemaExport export = new SchemaExport(cfg); export.create(true, true); } }
8、开发客户端
package com.hibernate; import java.util.Date; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class Client { public static void main(String[] args) { //读取hibernate.cfg.xml文件 Configuration cfg=new Configuration().configure(); //创建SessionFactory,一个数据库对应一个SessionFactory SessionFactory sf=cfg.buildSessionFactory(); //相当于JDBC中的Connection,但和Connectio不一样, //可以理解为对Connection做了一层封装 Session session=null; try{ //创建Session,从工厂创建出一个 session=sf.openSession(); //打开事务(hibernate默认的事务是False,所以得手动开启事务) session.beginTransaction(); //设置实例类相应的属性 User user=new User(); user.setName("qtliu"); user.setPassword("qtliu"); user.setCreateTime(new Date()); user.setExpireTime(new Date()); //进行存储 session.save(user); //手动提交,提交事务你必须得到原先开启事务的上下文,不能随便提交 //可以用Session.getTransanction()来得到先前开启事务的上下文 session.getTransaction().commit(); }catch(Exception e){ e.printStackTrace(); //事务提交后如果失败得回滚 session.getTransaction().rollback(); }finally{ //如果事务不为空 if(session!=null){ //如果事务没有关闭 if(session.isOpen()){ //那么关闭事务 session.close(); } } } } }
为了方便跟踪sql执行,在hibernate.cfg.xml文件中加入
<property name="hibernate.show_sql">true</property>
Hibernate配置文件:包含数据库连接信息,表的映射信息。
表的配置文件:对类与表的映射配置信息。
Configuration类:读取Hibernate.hbm.xml文件中的内容
SessionFaction类:通过Configuration创建SessionFaction实例,实现将类和表之间的映射。
Session.类。通过Session类保存、更新,删除及查询持久化对象,充当持久化管理器。
Session.Transaction 管理事务
发表评论
-
获得运行jar包存放路径的方法
2011-04-18 00:03 1389获得运行jar包存放路径 ... -
java读取配置文件的方法
2011-04-17 10:59 1147大家可能经常会遇到在Java程序中存取程序配置文件的需求,比如 ... -
<logic:iterate>使用
2010-05-21 13:55 1606<logic:iterate> 是Logic ... -
Struts中的html:link标签使用
2010-05-21 13:23 1173Struts中的html:link标签是 ... -
Struts标签-bean:write几个属性举例
2009-12-31 17:10 8516Struts标签-bean:write几个属性举例2009-0 ... -
属性配置文件的使用方法_灵活使用配置文件来配置类
2009-12-21 19:26 763属性配置文件的使用方法 我们常常使用配置文件来进行工程属性的配 ... -
Java调用Windows命令
2009-10-09 12:08 1626Java调用Windows命令 Java调用Windows ... -
Java操作Windows注册表实例
2009-10-09 11:54 1438Microsoft Windows 9x、Windows ... -
关于Java装载库文件
2009-09-21 01:33 1685System.load 和 System.loadLibrar ... -
jar文件的打包方法
2009-09-21 01:04 1404针对:双击jar文件,即可运行相关程序 首先列表一下环境: ... -
Java代码混淆器最佳推荐
2009-09-20 23:12 6599引用从事Java编程的人都知道,可以通过逆向工程反编译得到Ja ... -
Java基础知识小结
2009-07-24 11:22 1300引用小结Java学习中的一 ... -
建立规范的项目开发程序
2009-05-21 01:18 961引用规范的开发,使得项目看起来更为清晰,更为规范: 比如在开发 ... -
ApplicationResources.properties
2009-05-19 01:18 3501引用ApplicationResources.properti ... -
Properties Editor for Eclipse3[1].0-3.2安装使用
2009-05-14 00:42 9403采用Link方式安装Propertie ... -
Log4j在开发中的使用
2009-05-11 00:27 987Log4j: Log4j的使用分为 ... -
Jsp页面传值的方法
2009-04-22 11:13 11223一.通过Form表单提交传值 客户端通过Form表单提交到服 ... -
java反编译 jar jad
2009-04-21 18:11 5018引用将CLASS文件打包成JAR文件? 一:简单的打包: ... -
Eclips 使用点滴
2009-03-30 16:29 10151.)eclipse过滤jar文件 每次看到老长的竖列jar文 ...
相关推荐
标题“菜鸟快速运行第一个hibernate”表明了这是一个针对初学者的教程,旨在帮助他们快速上手并成功运行他们的第一个Hibernate项目。Hibernate是一个强大的Java ORM(对象关系映射)框架,它简化了数据库操作,使得...
在开始第一个Hibernate项目之前,你需要下载Hibernate的JAR包,并将其添加到项目的类路径中。同时,还需要配置Hibernate的主配置文件`hibernate.cfg.xml`,其中包含数据库连接信息、方言等设置。 3. 实体类与映射...
它是Hibernate启动时加载的第一个配置文件。 2. **实体类的XML映射文件**: 对应数据库表的Java类,每个类通常有一个对应的`.hbm.xml`文件,用于描述类与表之间的映射关系。 样例代码通常包括以下部分: 1. **...
【我的第一个Hibernate程序】这篇文章是关于初学者如何创建并运行第一个Hibernate程序的详细教程。Hibernate是一个流行的Java ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的编程,简化了数据...
在提供的文档“第一个Hibernate程序.doc”和源代码文件“FirstHibernate”中,你可以找到更具体的实现细节和解释,这对于理解并实践你的第一个Hibernate程序非常有帮助。通过这个起点,你可以进一步探索Hibernate的...
《Hibernate项目开发宝典》是一本深度探讨Java领域持久化框架Hibernate的专业书籍,它涵盖了从基础到高级的各种 Hibernate 应用场景。源码是学习和理解书中理论的最佳实践材料,而这里提供的“完整版”源码,据描述...
搭建一个Hibernate项目环境是开发基于Java的ORM(对象关系映射)应用的第一步。下面将详细阐述这个过程中的四个关键步骤: 1. **加载Hibernate类库和依赖库** 在开始构建Hibernate项目时,首先需要引入必要的库。这...
### Eclipse开发第一个Hibernate程序 #### 引言 Hibernate是一个开源的对象关系映射(ORM)框架,用于Java应用程序,它能够将面向对象的数据模型与关系型数据库进行映射,简化了数据库的操作过程,使得开发者可以...
【hibernate第一个例子】 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本示例将引导初学者了解如何使用Hibernate进行简单的数据库连接和操作。 首先,我们需要...
1. **配置文件**:Hibernate项目的初始化通常需要一个配置文件(如`hibernate.cfg.xml`),其中包含了数据库连接信息、JDBC驱动类、实体类的包名扫描等设置。这个文件是项目启动时读取的,用于配置Hibernate的行为。...
"第一个手写Hibernate"项目旨在帮助开发者深入理解Hibernate的工作原理,通过手动编写相关代码,以实践的方式来学习和掌握Hibernate的核心概念。 **一、Hibernate简介** Hibernate是一个开源的ORM框架,它允许...
在第一个Hibernate项目中,通常会创建一个简单的实体类,比如User,然后创建对应的User.hbm.xml映射文件。映射文件定义了类属性与数据库字段的对应关系。接着,通过配置文件设置数据库连接,如JDBC驱动、URL、用户名...
第一课:第一个hibernate项目 第二课:测试实体对象的生命周期 第三课:hibernate基本映射 第四课:hibernate多对一关联映射 ...................... Spring: 第一课:构建Spring的环境并建立一个例子 第三课:...
- 第一级缓存:Session级别的缓存,每个Session都有自己的缓存,数据自动放入和取出。 - 第二级缓存:SessionFactory级别的缓存,可配置第三方缓存服务,如Ehcache,提高数据读取速度。 通过这个项目,你不仅可以...
它通常包括创建第一个Hibernate项目、建立实体类、配置数据源、执行CRUD操作等基础步骤。 这些文档对于学习和掌握Hibernate至关重要,无论你是初学者还是经验丰富的开发者,都能从中找到对应的信息来解决特定问题。...
【hibernate入门--第一个实例】 Hibernate 是一个强大的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。通过使用Hibernate,我们可以将数据库操作转换为对Java对象的操作,从而简化了数据库...
"第一个Hibernate代码, Hello Hibernate" 这个标题表明我们将要探讨的是一个初学者级别的Hibernate教程,可能是通过一个简单的项目或示例来介绍如何使用Hibernate框架。Hibernate是一个开源的对象关系映射(ORM)...
它通常会从安装和配置开始,逐步引导读者建立第一个Hibernate项目,涵盖基本的实体映射、配置XML文件、使用Session API以及执行查询等基础操作。 通过学习这些文档,开发者不仅可以掌握Hibernate的基本用法,还能...
3. **缓存机制**:提供了第一级缓存和第二级缓存,减少对数据库的访问,提高效率。 4. **强大的查询语言HQL和 Criteria API**:提供了面向对象的查询方式,使得查询更加直观和简单。 在"springmvc+hibernate企业...