码迷,mamicode.com
首页 > Windows程序 > 详细

Hibernate总结2 API和配置文件

时间:2016-07-15 15:20:27      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:

1,Configuration 配置

获取config配置文件的方法

Configuration cfg = new Configuration();

cfg.下面的方法

    • configure()
    • configure(String resource)

 

添加映射文件,映射文件为类名.hbm.xml配置文件,用于配置类的成员变量和表列的相匹配关系

addResource(String resource) 导入一个指定位置的映射文件

载入类,根据类.Class来载入类名

addClass(Class clazz) 导入与指定类同一个包中的以类名为前缀,后缀为.hbm.xml的映射文件

生成sessionFacotry

buildSessionFactory()

2,SessionFactory Session工厂

获取Session,关闭Session,此关闭session是指将session返还给session工厂

openSession()
getCurrentSession()
close()

3,Session 很重要的一个对象

操作对象的方法

    • save(Object)
    • update(Object)
    • delete(Object)

查询的方法

    • createQuery(String) --> Query
    • createCriteria(Class)

管理事务的方法

    • beginTransaction() --> Transaction
    • getTransaction() --> Transaction 获取当前Session中关联的事务对象

其他的方法
...

Transaction 事务

    • commit()
    • rollback()

Query 查询

    • list() 查询一个结果集合。
    • uniqueResult() 查询一个唯一的结果,如果没有结果,则返回null,如果结果有多个,就抛异常。

4,Hibernate主配置文件

1,数据库信息

<property ...>

方言、JdbcUrl、驱动、用户名、密码

2,导入映射文件

<mapping ...>

3,其他配置

<property ...>

show_sql 显示生成的SQL语句

format_sql 格式化生成的SQL语句

hbm2ddl.auto 自动生成表结构

hibernate.hbm2ddl.auto  自动生成表结构

5,主键类型

如果主键是数字的话,类建议使用包装类型,比如说Integer类型来代替int类型

表中的主键常用<generator class="native" />来作为主键的生成规则,因为这个匹配大部分数据库,包括有自动增长(mssql,mysql)的和无自动增长通过序列的(oracle)

6,插入集合类型的

常见的集合有Set(hashset),list(arraylist),array,map(hashmap)等,在xxx.hbm.xml配置时,具体的配置如下

技术分享
 1 <!-- addressSet属性,Set集合 
 2             table属性:集合表的名称
 3             key子元素:集合外键的列名
 4             element子元素:存放集合元素的列的信息
 5             sort属性:"unsorted|natural|comparatorClass"
 6                 默认为:unsorted
 7             order-by属性:写的是order by 子句,是SQL语句,是操作的集合表。
 8                 这是在查询数据时指定orderby子句。
 9         -->
10         <set name="addressSet" table="user_addressSet" order-by="address ASC">
11             <key column="userId"></key>
12             <element type="string" column="address"></element>
13         </set>
14         
15         <!-- addressList属性,List集合 
16             list-index:用于存放索引的列
17         -->
18         <list name="addressList" table="user_addressList">
19             <key column="userId"></key>
20             <list-index column="idx"></list-index>
21             <element type="string" column="address"></element>
22         </list>
23         
24         <!-- addressArray属性,数组。与List的映射基本一致 -->
25         <array name="addressArray" table="user_addressArray">
26             <key column="userId"></key>
27             <list-index column="idx"></list-index>
28             <element type="string" column="address"></element>
29         </array>
30         
31         <!-- addressMap属性,Map集合 -->
32         <map name="addressMap" table="user_addressMap">
33             <key column="userId"></key>
34             <map-key type="string" column="key_"></map-key>
35             <element type="string" column="address"></element>
36         </map>
37         
38         <!-- addressBag属性,Bag集合:无序,可重复。与Set集合的映射基本一致 -->
39         <bag name="addressBag" table="user_addressBag">
40             <key column="userId"></key>
41             <element type="string" column="address"></element>
42         </bag>
hbm.xml集合配置

注意:使用集合属性时,一定要使用接口,而不能声明为具体的实现类。因为经过Session操作后,集合就变成了Hibernate自己的集合实现类。

7,

Hibernate总结2 API和配置文件

标签:

原文地址:http://www.cnblogs.com/ningheshutong/p/5673667.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!