hibernate配置文件和基础概念,三种状态

来源:互联网 发布:巫师3卡顿优化补丁 编辑:程序博客网 时间:2024/05/21 03:27

Hibernate: ORM是指Object relation Mapping 对象关系映射的过程

  ORM框架主要解决数据库中表字段与代码中类的属性之间的映射关系

  hibernate是点型的一个ORM框架,主要解决就是阻抗不匹配问题

  Hibernate配置过程:jar包在Hibernate/lib/require文件夹下的所有文件

      配置hibernate.cfg.xml

           1、hibernate.connection.driver_class

           2、hibernate.connection.username

           3、hibernate.connection.password

           4、show_sql   展示sql语句

           5、hibernate.hbm2ddl.auto  自动建表

           7、hibernate.dialect    数据库方言

  创建实体类和映射文件

           映射文件:class标签:name代表需要映射的类     table代表需要映射的表

                                id标签: name代表实体类中的某一条属性,该属性会作为数据库中的主键存在  column 代表映射到数据库中的字段

                                意思是将这个属性(id) 映射到数据库中的那个字段上(一般方式在数据库的主键不是id的情况下)

                                generator 标签:id标签的子标签 代表class属性代表主键生成策略,常用的有:native(mysql下是自增,oracle下是序列)

                                                            uuid2(绝对!!!不会重复的一个16进制的字符串)

                                property标签:class标签的子标签 代表实体类中的一条属性,数据库中的一条普通字段    column属性:数据库中对应该属性

                                                            的名字,若不加,默认与数据库中name属性是一样的

                               将映射文件(hbm.xml)写在配置文件中(hibernate.cfg.xml) 加入mapping标签,设置resource属性的内容为:路径(注意:不是全类名)

  书写操作hibernate的过程:

                             创建一个configuration ,configuration创建需要调用configur()方法

                             通过configuration创建sessionfactory,再通过次创建session

                             通过session获得一个transaction

                              数据库操作:save、 update、 get/load 、delete、saveOrupdate

                              tx.commit

                              当出现异常是回滚 tx.rollback

  对象的三种状态:

  hibernate.cfg.xml配置

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEhibernate-configuration PUBLIC

        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">


<hibernate-configuration>

<session-factory>

<!-- 配置jdbc驱动 -->

<propertyname="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

<!-- 配置数据库链接 -->

<propertyname="hibernate.connection.url">jdbc:mysql://localhost:3306/bjcszh?characterEncoding=utf-8&amp;useSSL=false</property>

<!-- 用户名 -->

<propertyname="hibernate.connection.username">root</property>

<!-- 密码 -->

<propertyname="hibernate.connection.password">root</property>

<!-- 执行是打印sql -->

<propertyname="show_sql">true</property>

<!-- 自动建表 ddl语言 -->

<propertyname="hibernate.hbm2ddl.auto">update</property>

<propertyname="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

<mappingresource="com/lanou/hibernate/mapping/user.hbm.xml"/>

</session-factory>

</hibernate-configuration>

原创粉丝点击