`
txidol
  • 浏览: 53599 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Hibernate学习笔记(一)【基础配置篇】

阅读更多

一、首先找hibernate.properties文件

 

hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://192.168.18.184:3306/SAMPLEDB
hibernate.connection.username=root
hibernate.connection.password=
hibernate.show_sql=true

二、其次找类配置文件 例如:Monkey.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="mypack.Monkey" table="MONKEYS">
        <id name="id" column="ID" type="long">
            <generator class="increment"/>
        </id>
        <property name="name" column="NAME" type="string" not-null="true"/>
        <property name="age" column="AGE" type="int"/>
        <property name="gender" column="GENDER" type="character"/>
    </class>
</hibernate-mapping>

 

三、使用Service 备注:经过改造后笔记

 

public static SessionFactory sessionFactory;
       static {
              try {
                     Configurationconfig = new Configuration();
                     config.addClass(Monkey.class);
                     sessionFactory =config.buildSessionFactory();
              } catch (RuntimeException e) {
                     // TODO: handle exception
                     e.printStackTrace();
                     throw e;
              }
       }
             
public void findAllMonkeys() {
     Session session = sessionFactory.openSession();
              Transaction tx = null;
              try {
                     tx =session.beginTransaction();
                     //
            	     Query query = session
                                   .createQuery("from Monkey as morder by m.id asc")
                     @SuppressWarnings("unchecked")
                     List<Monkey> monkeys= query.list();
                     //
                     s.save(m);
                    //
                     Monkey m = (Monkey)session.get(Monkey.class, monkey_id);
                     m.setAge(age);
                     //
                     session.delete(monkey);                     
                     tx.commit();
              } catch (RuntimeException e) {
                     // TODO: handle exception
                     if (tx != null) {
                            tx.rollback();
                     }
                     throw e;
              } finally {
                     session.close();
              }
       }

 

四、升级配置文件 Monkey.hbm.xml

 

1.dynamic-insert="true" dynamic-update="true"  动态版插入更新
2.access="field" 不是要get set直接采用属性
3.formula 无属性也可以直接查数据库组装数据
4.在class中声明mutable=”false” 或 @Immutable
    这意味着对该类的更新将会被忽略,不过不会抛出异常,只允许有增加和删除操作。
     在class中声明mutable=”false”:insert=允许,delete=允许,update=不允许
     在集合中声明mutable=”false” 或 @Immutable
      这意味着在这个集合中插入记录或删除孤行是不允许的,否则会抛出异常。只允许更新操作。
     不过,如果启用级联删除的话,当父类被删除时,其所有子类也将被删除,即使它是mutable的。
     在集合中声明mutable=”false”:insert=不允许,孤行删除=不允许,delete=允许,update=允许

 

 

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/HibernateMapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
  <class name="mypack.Monkey" table="MONKEYS" dynamic-insert="true" dynamic-update="true"  > <!-- mutable="ture" -->
    <id name="id">
      <generator class="increment"/>
    </id>
    <property name="name" column="NAME" />
    <property name="gender" column="GENDER" access="field" />
    <property name="age" column="AGE" />
    <property name="avgAge"
      formula="(select avg(m.AGE) from MONKEYS m)" />
   <property name="description"  type="text" column="`MONKEY  DESCRIPTION`"/>
 </class>
</hibernate-mapping>

 

 

五、升级配置hibernate.properties --》hibernate.cfg.xml 不过需显示调用

Service

public static SessionFactory sessionFactory;
       static {
              try {
       Configuration config = newConfiguration();
       config.configure();
           sessionFactory = config.buildSessionFactory();
              } catch (RuntimeException e) {
                     // TODO: handle exception
                     e.printStackTrace();
                     throw e;
              }
       }

 

 

<?xml version="1.0"encoding="utf-8" ?>
<!DOCTYPE hibernate-configuration
 PUBLIC "-//Hibernate/HibernateConfiguration DTD//EN"
 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory >
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/sampledb</property>
<property name="connection.username">root</property>
<property name="connection.password">1234</property>
<property name="show_sql">true</property>
<mapping resource="mypack/Monkey.hbm.xml" />
</session-factory>
</hibernate-configuration>

 

六、高级综合版 Springdao-config.xml xml引用sqlResource.properties

 

	//配置文件配置
       <bean id="propertyConfigurer"
       class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
              <property name="location">
                     <value>classpath:sqlResource.properties</value>
              </property>
	</bean>
       <bean id="dataSource"
              class="org.apache.commons.dbcp.BasicDataSource"
              destroy-method="close">
              <property name="driverClassName">
                     <value>${database.driverclassname}</value></property>      
              <property name="url"><value>${database.url}</value></property>
              <property name="username"><value>${database.username}</value></property>
              <property name="password"><value>${database.password}</value></property>
              <property name="maxActive"><value>10</value></property>
              <property name="maxWait"><value>3000</value></property>      
              <property name="maxIdle"><value>5</value></property>
       </bean>

 

七、高级综合版 直接配置Springdao-config.xml

 

	//直接配置
       <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
              destroy-method="close">
              <property name="driverClassName" value="com.mysql.jdbc.Driver" />
              <property name="url" value="jdbc:mysql://192.168.18.184:3306/moniter?characterEncoding=UTF-8" />
              <property name="username" value="root" />
              <property name="password" value="" />
       </bean>

 

 

 

分享到:
评论

相关推荐

    Hibernate学习笔记整理

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

    Hibernate学习笔记特别详细

    《Hibernate学习笔记特别详细》 Hibernate,作为一款开源的Object-Relational Mapping(ORM)框架,为Java开发者提供了强大的数据库操作支持。它简化了数据库访问的复杂性,使得开发人员可以像操作对象一样操作...

    Java相关课程系列笔记之十四Hibernate学习笔记

    【Java相关课程系列笔记之十四Hibernate学习笔记】 Hibernate是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。本笔记将详细阐述Hibernate的核心概念、使用方法和特性。 一、...

    马士兵hibernate学习笔记(原版)

    《马士兵Hibernate学习笔记》是一份深入浅出的教程,旨在帮助初学者掌握Hibernate这一流行的Java持久化框架。Hibernate是一个对象关系映射(ORM)工具,它允许开发者用面向对象的方式来操作数据库,从而减少了传统...

    hibernate学习笔记

    在本篇文章中,我们将深入探讨 Hibernate 的核心概念和使用方法。 首先,创建 Hibernate 项目的步骤包括新建 Java 项目,然后设置 User Library 并加入必要的 JAR 包,例如 Hibernate 的主库 hibernate3.jar 和所有...

    Hibernate学习笔记源码及文档

    总之,这份“Hibernate学习笔记源码及文档”是一个全面的学习资源,它涵盖了从入门到进阶的各个层面,对于想要掌握Hibernate的开发者来说,是一份非常宝贵的学习材料。通过系统地学习和实践,不仅可以理解Hibernate...

    马士兵java框架hibernate学习笔记

    以上是马士兵Java框架Hibernate学习笔记的主要知识点概览,涵盖了从基础配置到高级特性的一系列内容。对于初学者来说,这是一个很好的起点,可以帮助他们快速掌握Hibernate的核心概念和技术要点。

    尚学堂hibernate学习笔记(原版整理)

    【尚学堂Hibernate学习笔记】是一份详尽的学习资料,旨在帮助初学者理解并掌握Hibernate这一流行的Java对象关系映射(ORM)框架。该笔记由作者根据马士兵老师的教程整理而成,其中包含了个人的学习注解,使得内容...

    hibernate学习笔记.

    【hibernate学习笔记】 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它极大地简化了数据库操作。以下是对Hibernate的学习要点的详细解释: 1. **建立第一个Hibernate版本的HelloWorld** - **...

    hibernate学习笔记第四天的源码

    **hibernate学习笔记第四天源码解析** 在hibernate学习的过程中,第四天通常会深入探讨实体类、映射文件、配置文件以及查询语言等方面的内容。这些是hibernate框架的基础,也是开发者掌握持久化操作的关键。让我们...

    hibernate个人学习笔记完整版

    【hibernate个人学习笔记完整版】是一份详尽的资料,涵盖了Hibernate框架的基础到高级应用,旨在帮助学习者深入理解和掌握这一强大的Java对象关系映射(ORM)工具。Hibernate作为Java开发中的主流ORM框架,它极大地...

    hibernate学习笔记_北大青鸟课堂笔记全文

    【hibernate学习笔记_北大青鸟课堂笔记全文】 Hibernate是一个强大的对象关系映射(ORM)框架,它为Java开发者提供了便捷的数据持久化方案。在Java应用中,尤其是在企业级开发中,它扮演着至关重要的角色,使得我们...

    JDBC Hibernate学习笔记

    ### JDBC与Hibernate学习笔记 #### 一、JDBC概述 **1.1 ODBC与JDBC的区别** - **ODBC(Open Database Connectivity)**: 开放式数据库连接是一种开放标准的应用程序接口(API),用于实现数据库应用程序与不同...

    Hibernate3 学习笔记.ppt

    Hibernate Tool是一组工具,包括了反向工程(Reverse Engineering)可以自动生成Java实体类和映射文件,以及HBM2DDL自动创建数据库结构等功能,帮助开发者快速搭建项目基础。 总结,Hibernate3作为强大的O/R ...

    达内HIBERNATE学习笔记

    根据提供的信息,我们可以总结出以下关于达内HIBERNATE学习笔记的重要知识点: ### 第一章:Hibernate入门 #### 1.1 学习目标 - 理解Hibernate的基本概念。 - 掌握如何使用Hibernate进行开发。 #### 1.2 对象持久...

    Hibernate学习笔记(培训学习时的笔记)

    【Hibernate学习笔记】 Hibernate是一个强大的Java对象关系映射(ORM)框架,它简化了数据库与Java应用程序之间的交互。本笔记将深入探讨Hibernate的核心概念、配置、实体管理、查询语言以及事务处理等方面,帮助...

Global site tag (gtag.js) - Google Analytics