hibernate学习笔记

1. 什么是ORM (Object-Relation-Mapping) ?
对象关系映射模式指的是在单个组建中负责所有实体域对象的持久化,封装数据访问细节。

2.  hibernate中对象的状态。
   1) Transient(自由状态):即实体对象在内存中的自由存在,它与数据库中的记录无关
   2) Persistent(持久状态):即实体对象处于由Hibernate框架所管理的状态。这种状态下,实体对象的引用被纳入Hibernate实体容器中加以管理。如果一个实体对象与某个Session实例发生了关联,并处于对应Session的有效期内,那么它就处于Persistent状态
   3) Detached(游离状态):处于Persistent状态的对象,其对应的Session实例关闭后,那么,此对象就处于Detached状态

3. hibernate在框架中的流程
     表示层<---->Service(处理事务)<---->DAO1,DAO2...<---->ORM--->DB

4.  祝配置文件hibernate.cfg.xml:
    <hibernate-configuration>
<session-factory>
//配置数据源
<property name="connection.username">root</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/user
</property>
<property name="myeclipse.connection.profile">myds</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
//主要解决了在不同数据库之间切换方便  dialect是方言的意思
<property name="dialect">
org.hibernate.dialect.MySQLDialect//这地方使用的数据库是MySql
</property>
//为true表示在控制台打印sql语句
<property name="show_sql">true</property>
//mapping是用来找到对象-关系映射文件-----User.hbm.xml
<mapping resource="com/xaccp/util/User.hbm.xml" />
</session-factory>
</hibernate-configuration>

4.User.hbm.xml:传说中的对象-关系映射文件  与User类在同一个包中(这个是必须的)
<hibernate-mapping>
//name指的是类名  table是数据库中的表名  catalog是数据库的库名
//持久化类是POJO
    <class name="com.xaccp.util.User" table="user" catalog="user">
        <id name="uid" type="java.lang.Integer">
            <column name="uid" />
//主键的生成方式 native表示是数据库的主键生成方式一致  assigned表示
//是程序员自己指定的
            <generator class="native" />
        </id>
        <property name="uname" type="java.lang.String">
            <column name="uname" length="20" />
        </property>
        <property name="upass" type="java.lang.String">
            <column name="upass" length="20" />
        </property>
    </class>
</hibernate-mapping>

你可能感兴趣的:(Hibernate,mysql,jdbc,orm,配置管理)