`
xiao_yi
  • 浏览: 410413 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate资源共享基础之WEB部署

阅读更多

Author:ZhangGuozhong
Date:2007-5-12


1.为什么要使用Hibernate?

  有对比才有问题,才会看出原因?
  在以前所用的JDBC数据库方面时,我们会发现:
 
   1).在业务逻辑中混合JDBC..即操作大量的sql语句.
   2).数据库迁移或者改变时,就要修改大量的代码.
   3).当底层改变时,也须要修改大量的程序.
   4).在调试时,工作量也很大.
 
  基于以上四点不难看出,问题就在于耦合程度高.而Hibernate的出现,也就是在于提供一个持久化层,用来解耦!

2.持久化层(对象---关系)
 
   其实写持久化层,也就是在写持久化类,建立对象关系映射(ORM映射).
   Hibernate让普通的Java对象变成持久化类。一个持久化类很像JavaBean,属性通过get和set方法访问,对外隐藏了内部实现的细节.(初次理解,就可当为实体Bean来使用).
   Hibernate对属性使用的类型不加限制。所有的Java JDK类型和原始类型(比如String,char和float)都可以被映射,也包括Java集合框架中的类。可以把它们映射成为值,值集合,或者与其他实体相关联。id是一个特殊的属性,代表了这个类的数据库标识符(主键),它对于类似于Cat这样的实体是必需的(详见后面XML配置)。

   持久化类不需要实现什么特别的接口,也不需要从一个特别的持久化根类继承下来。Hibernate也不需要使用任何编译器处理,比如字节码增强操作,它独立的使用Java反射机制和运行时类增强(通过CGLIB)。所以,在Hibernate中,持久化类的类不需要任何前提条件,我们就可以把它射成为数据库表(详见XML)。

  那么到底如何在配置文件XML中配置中,想必都期待己久了吧,呵,我们慢慢来...
 
  XML配置实体与数据库的映射(ORM.xml):
  <?xml version="1.0"?>
 <!DOCTYPE hibernate-mapping
    PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

<hibernate-mapping>

    <class name="net.sf.hibernate.examples.quickstart.Cat" table="CAT">
        <id name="id" type="string" unsaved-value="null" >
            <column name="CAT_ID" sql-type="char(32)" not-null="true"/>
            <generator class="increment"/>
        </id>
        <property name="name">
            <column name="NAME" sql-type="varchar(16)" not-null="true"/>
        </property>
        <property name="sex"/>
        <property name="weight"/>
    </class>
</hibernate-mapping>
 
说明:

    XML声明不必去研究,我们一起来看hibernate-mapping之间的内容,大家知道,我们要做的是关于实体与数据库的映射,那么就必然有一个实体类与数据库中的某一张表去映射,这样才会一一对映.对吧?所以在class标记中name属性为所要映射的实体类名,table为所要映射的数据库表

名....go on
    这样一来,我们再看class标记下面的内容:
     1).首选是id标记,id也就是上面所说的"id是一个特殊的属性,代表这个类中的主键id---即实体中的主键id,clolumn的name属性为数据库中字段的名.亦可写成<id name="id" column="CAT_ID" type="string"> 即将实体与数据库对映字段写入一个标记中.
     2).generator标记:
 Hiernate附带了几种不同的标识符生成器,用于不同的场合(包括数据库本地的顺序(sequence)生成器和hi/lo高低位标识模式)。我们在这里使用increment生成器,并指定CAT表的CAT_ID字段(作为表的主键)存放生成的标识值(知道就可以了,不用多研究)。
     3).接下来就是要对数据库中其它字段与实体进行映射:
        property标记.可以如上写,亦可写成简单模式:<property name="name" column="NAME" type="string" not-null="true"/>其它的对应sex,weight...


2.
    WEB服务器配置:

    1.建立web的Hibernate工程,还要导入相应的.jar包,如果用JCreater练手,那么就要手动导入,类似于导servletApi.jar包一样,如果没有,呵,找老师或者找同学要一下吧...
    2.连接配置文件:hibernate.properties文件,将hibernate.properties文件存放到web工程WEB-INF\classes\根目录下
       1).如果是桥连,将下面文件写入到hibernate.properties里.(.properties为文件后缀名)

 hibernate.dialect=net.sf.hibernate.dialect.SQLServerDialect
 hibernate.connection.driver_class=sun.jdbc.odbc.JdbcOdbcDriver
 hibernate.connection.url=jdbc:odbc:数据源名
 hibernate.connection.username=sa
 hibernate.connection.password=
 hibernate.show_sql=truehibernate.properties

       2).如果是直连,同上,改变内容

 hibernate.dialect=net.sf.hibernate.dialect.SQLServerDialect
 hibernate.connection.driver_class=com.microsoft.jdbc.sqlserver.SQLServerDriver
 hibernate.connection.url=jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=数据库名
 hibernate.connection.username=sa
 hibernate.connection.password=
 hibernate.show_sql=true
     3.实体与库表(ORM.xml)文件放在字节码文件下:即java源文件经过编辑之后,生成的.class所在包中,并且要配置到当前所映射的实体包下的.class所在包中.

 

 



分享到:
评论

相关推荐

    零基础学Java[1].Web开发:JSP.Servlet.Struts.Spring.Hibernate.Ajax(PPT).rar

    本资源"零基础学Java[1].Web开发:JSP.Servlet.Struts.Spring.Hibernate.Ajax(PPT).rar"提供了一套完整的入门教材,涵盖了从基础到进阶的关键知识点。 首先,我们从基础开始,讲解【HTML相关技术基础知识】。HTML...

    使用SpringWeb框架开发的电子商务网站,在后台使用Hibernate处理数据库.zip

    3. `src/main/webapp`:Web应用资源目录,包括静态资源(如HTML、CSS、JavaScript)、Web-INF下的`web.xml`部署描述符,以及视图解析器相关目录。 4. `pom.xml`:Maven项目配置文件,定义了项目依赖,包括SpringWeb...

    springmvc+hibernate rest 架构

    4. **CORS跨域处理**:跨域资源共享(CORS)是一种W3C标准,允许浏览器向不同源的服务器发送Ajax请求。在SpringMVC中,可以通过添加过滤器或者使用`@CrossOrigin`注解来启用CORS,以支持前端跨域请求。 5. **...

    Java常用架包struts,hibernate等

    它将多个类文件、资源文件以及其他元数据打包成一个单一的可执行文件,方便部署和运行。Java的类加载器可以自动识别并加载jar包中的类,使得开发者可以轻松地引用和使用第三方库。在开发环境中,通常会使用构建工具...

    hibernate 3.5.0-final core reference 中文pdf

    - **对JCA的支持**:解释了Hibernate如何支持Java Connector Architecture (JCA),以实现与外部资源的集成。 - **上下文相关的会话(Contextual Session)**:介绍了如何利用Spring等框架提供的上下文来管理Session...

    tomcat部署web项目之SMART系统-系统框架设计与开发

    总的来说,SMART系统的设计与开发涉及了Java Web开发的多个层面,从选择和使用合适的技术栈到构建高效稳定的系统框架,再到编写详细的设计文档和共享公共资源。学习并掌握这些知识点对于提升Java Web开发技能,尤其...

    【原創】Spring、Hibernate、Struts1整合的方式

    7. **部署**:最后,项目打包成WAR文件,部署到Web服务器,如Tomcat或Jetty,即可运行。 在压缩包文件中,`index.html`可能是项目的首页,`WEB-INF`目录存放了Web应用的配置文件和其他非公开资源,`order`可能是一...

    基于Spring_Hibernate_Flex架构的教学资源库设计与实现

    本文将介绍如何基于Spring、Hibernate和Flex这三个开源框架整合出一个新的Web应用开发模型,用于构建教学资源库系统。 #### 二、系统技术架构设计 ##### 2.1 数据库设计 系统采用了MySQL作为数据库管理系统。...

    hibernate_spring_struts框架资料

    "快来拍砖"是一种网络用语,意味着欢迎读者提出批评和建议,表明这个资料可能是社区共享的学习资源,期待大家的反馈。 从标签“ssh”来看,这是SSH(Struts、Spring、Hibernate)框架的简称,进一步确认了资料内容...

    最新 maven spring hibernate mvc 4.X

    开发者可以在这个结构下找到web.xml(部署描述符)、Spring的配置文件(如applicationContext.xml或dispatcher-servlet.xml)、Hibernate的配置文件(如hibernate.cfg.xml)以及实体类、DAO(数据访问对象)、...

    2024博客系统(struts+hibernate+spring)130225.rar

    4. **部署文件**:如WEB-INF目录下的web.xml,定义了Servlet容器的配置。 通过对这些文件的分析和理解,开发者可以深入学习和掌握Struts、Hibernate、Spring的整合使用,为构建自己的企业级应用打下坚实的基础。

    Java Web项目之编程爱好者博客地带.zip

    一、Java Web基础 Java Web开发主要基于Servlet、JSP(JavaServer Pages)和JavaBean等技术。Servlet是Java定义的一种服务器端程序,用于扩展Web服务器的功能;JSP则是一种动态网页技术,允许在HTML中嵌入Java代码...

    java web的网站资源开发,网上商城网站制作

    9. **部署与运行**:项目完成后,我们需要将所有资源打包成WAR(Web Application Archive)文件,然后部署到Tomcat、Jetty等Java Web服务器上进行运行。 10. **测试与优化**:最后,对网站进行功能测试、性能测试和...

    JAVA WEB程序开发范例宝典4-10章源代码

    《JAVA WEB程序开发范例宝典4-10章源代码》是一份涵盖JAVA WEB开发重要实例的资源集合,主要用于帮助开发者深入理解并实践JAVA在Web应用中的运用。由于文件大小的限制,这个压缩包包含了第4至10章的源代码,未能一并...

    java常用jar包spring struts hibernate mysql json 等

    Java开发中,jar(Java Archive)包是Java平台特有的库文件格式,用于打包类文件、资源文件等,便于代码的组织、复用和部署。在给定的标题和描述中,提到了几个关键的jar包,它们分别是Spring、Struts、Hibernate、...

    web开发常用jar包

    `jar`文件是一种特殊格式的归档文件,它包含了多个Java类文件、资源文件以及元数据,便于代码的分发、部署和运行。本篇文章将详细讲解`jar`包在Web开发中的作用、常见用途以及如何使用它们。 一、`jar`包的基本概念...

    jsj_6_3.rar_Java web登陆_web java 学生_简单 系统

    虽然"新建文件夹"并未明确指出包含文件上传功能,但在某些学生管理系统中,可能会涉及到学生的作业提交或者资源共享,这需要用到文件上传下载功能。 8. **前端技术**: - HTML/CSS/JavaScript:构建用户界面,...

    reslet2.0+spring3.0+hibernate3.3框架集成

    **标题解析:** "reslet2.0+spring3.0+hibernate3.3框架集成" 这个...总的来说,这个项目结合了Reslet的RESTful优势、Spring的全面功能和Hibernate的ORM便利,为Java Web开发提供了一种不同于传统SSH框架的解决方案。

    基于java的校园二手交易市场系统设计与实现(源代码+部署视频+数据库).zip

    本项目是针对校园内二手商品交易需求而设计的一款系统,采用Java编程语言进行开发,旨在提供一个便捷、安全的线上交易平台,促进学生之间的资源共享和交流。系统包括源代码、部署视频以及数据库等关键组成部分,为...

    hibernate-c3p0-4.3.0.Beta5.zip

    【标题】"hibernate-c3p0-4.3.0.Beta5.zip" 提供的是Hibernate ORM框架与C3P0数据源的一个特定版本的集成。Hibernate是Java领域中广泛使用的对象关系映射(ORM)框架,它允许开发者用面向对象的方式来处理数据库操作...

Global site tag (gtag.js) - Google Analytics