2013.08.31学习日记

来源:互联网 发布:电力仿真软件 编辑:程序博客网 时间:2024/04/29 09:28
1、Hibernate是完成完成对象模型和基于SQL的关系模型的映射关系。Hibernate充当了面向对象的程序设计语言和关系数据库之间的桥梁,允许程序开发者采用面向对象的方式来操作关系数据库。有了Hibernate的支持,使得Java EE应用的OOA(面向对象分析)、OOD(面向对象设计)和OOP(面向对象编程)三个过程一脉相承,成为一个整体。

2、ORM(Obeject /Relation Mapping对象/关系数据库映射)
   

ORM工具可完成对象模型和关系模型之间的相互映射,ORM框架则负责将这种操作转换为底层数据库操作。
PO(Persistent Object持久化对象):完成持久化操作,通过该对象对数据执行增删改查的操作。

3、
Hibernate的XML映射文件: src\org\crazyit\app\domain\News.hbm.xml
<?xml  version="1.0"  encoding="gb2312" ?>
<!--指定Hibernate3映射文件的DTD信息-->
<!DOCTYPE hibernate-mapping PUBLIC
      "-//Hibernate/Hibenate Mapping DTD 3.0//EN"
      "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd" >
<!--hibernate-mapping是映射文件的根元素-->
<hibernate-mapping package="org.crazyit.app.domain"
    <!--每个class元素对应一个持久化对象-->
    <class  name="News"  table="news_table">
           <!--id元素定义持久化类的标识属性-->
           <id  name="id">
                    <generator  class="identity" />
           </id>
           <!--property元素定义常规属性-->
           <property  name="title"  />
           <property  name="content"/>
     </class>
</hibernate-mapping>

POJO:(简单的javabean)路径:src\org\crazyit\app\domain\News.java
public   class   News
{
    private  Integer  id ;
    private  String title ;
    private  String  content ;
    
    public Integer getId(){return  id ;}
    public void setId(Integer  id){this.id = id ;}
    public String getTitle(){return  title ;}
    public void setTitle(String title){this.title = title ;}
    public String getContent(){return content ;}
    public void setContent(String content){this.content = content ;}


通用的Hibernate配置文件:src\hibernate.cfg.xml
<?xml  version="1.0"  encoding="gb2312" ?>
<!--指定Hibernate3映射文件的DTD信息-->
<!DOCTYPE hibernate-mapping PUBLIC
      "-//Hibernate/Hibenate Mapping DTD 3.0//EN"
      "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd" >
<!--hibernate-configuration是连接配置文件的根元素-->
<hibernate-configuration>
    <session-factory>
         <!--指定连接数据库所用的驱动-->
         <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
         <!--指定数据库的url,hibernate连接的数据库名-->
         <property name="connection.url">jdbc.mysql://localhost/hibernate</property>
         <!--指定连接数据库的用户名-->
         <property  name="connection.username">root</property>
         <property  name="connection.password">123456</property>
          
         <!--指定连接池里最大连接数-->
         <property  name="hibernate.c3p0.max_size">20</property>
         <property  name="hibernate.c3p0.min_size">1</property>
         <property  name="hibernate.c3p0.timeout">5000</property>
          
         <property  name="hibernate.c3p0.max_statements">100</property>
         <property  name="hibernate.c3p0.idle_test_period">3000</property>
         <property  name="hibernate.c3p0.acquire_increment">2</property>
         <property  name="hibernate.c3p0.validate">true</property>
         
         <!--指定数据库方言-->
         <property  name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
         <!--根据需要自动创建数据表-->
         <property  name="hbm2ddl.auto">update</property>
         <mapping  resource="org/crazyit/app/domain/News.hbm.xml"/>
    </session-factory>
</hibernate-configuration>





   

原创粉丝点击