<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-61  評論-159  文章-0  trackbacks-0
    hibernate中的集合的使用還是比較多,跟普通的string、int等字段處理的方式不一樣,下面介紹set、list、map、array集合在hibernate中的應用。

    例子:
    1、CollectionMapping的POJO類

     1import java.util.List;
     2import java.util.Map;
     3import java.util.Set;
     4
     5public class CollectionMapping {
     6    private int id;
     7    
     8    private String name;
     9    
    10    private Set setValue;
    11    
    12    private List listValue;
    13    
    14    private String[] arrayValue;
    15    
    16    private Map mapValue;
    17//省略setter、getter方法
    18}

    2、CollectionMapping.hbm.xml映射文件

     1<?xml version="1.0"?>
     2<!DOCTYPE hibernate-mapping PUBLIC 
     3    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     4    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     5<hibernate-mapping package="org.apple.hibernate">
     6    <class name="CollectionMapping" table="t_collectionMapping">
     7        <id name="id">
     8            <generator class="native"/>
     9        </id>
    10        <property name="name"/>
    11        <set name="setValue" table="t_set_value">
    12            <key column="set_id"/>
    13            <element type="string" column="set_value"/>
    14        </set>
    15        <list name="listValue" table="t_list_value">
    16            <key column="list_id"/>
    17            <list-index column="list_index"/>
    18            <element type="string" column="list_value"/>
    19        </list>
    20        <array name="arrayValue" table="t_array_value">
    21            <key column="array_id"/>
    22            <list-index column="array_index"/>
    23            <element type="string" column="array_value"/>
    24        </array>
    25        <map name="mapValue" table="t_map_value">
    26            <key column="map_id"/>
    27            <map-key type="string" column="map_key"/>
    28            <element type="string" column="map_value"/>
    29        </map>
    30    </class>
    31</hibernate-mapping>

    3、利用SchemaExport生成數據庫表

    mysql> desc t_array_value;
    +-------------+--------------+------+-----+---------+-------+
    | Field       | Type         | Null | Key | Default | Extra |
    +-------------+--------------+------+-----+---------+-------+
    | array_id    | int(11)      | NO   | PRI |         |       |
    | array_value | varchar(255) | YES  |     | NULL    |       |
    | array_index | int(11)      | NO   | PRI |         |       |
    +-------------+--------------+------+-----+---------+-------+
    3 rows in set (0.03 sec)


    mysql> desc t_array_value;
    +-------------+--------------+------+-----+---------+-------+
    | Field       | Type         | Null | Key | Default | Extra |
    +-------------+--------------+------+-----+---------+-------+
    | array_id    | int(11)      | NO   | PRI |         |       |
    | array_value | varchar(255) | YES  |     | NULL    |       |
    | array_index | int(11)      | NO   | PRI |         |       |
    +-------------+--------------+------+-----+---------+-------+
    3 rows in set (0.03 sec)


    mysql> desc t_list_value;
    +------------+--------------+------+-----+---------+-------+
    | Field      | Type         | Null | Key | Default | Extra |
    +------------+--------------+------+-----+---------+-------+
    | list_id    | int(11)      | NO   | PRI |         |       |
    | list_value | varchar(255) | YES  |     | NULL    |       |
    | list_index | int(11)      | NO   | PRI |         |       |
    +------------+--------------+------+-----+---------+-------+
    3 rows in set (0.03 sec)

    mysql> desc t_map_value;
    +-----------+--------------+------+-----+---------+-------+
    | Field     | Type         | Null | Key | Default | Extra |
    +-----------+--------------+------+-----+---------+-------+
    | map_id      | int(11)      | NO   | PRI |         |       |
    | map_value | varchar(255) | YES  |     | NULL    |       |
    | map_key   | varchar(255) | NO   | PRI |         |       |
    +-----------+--------------+------+-----+---------+-------+
    3 rows in set (0.03 sec)

    mysql> desc t_set_value;
    +-----------+--------------+------+-----+---------+-------+
    | Field     | Type         | Null | Key | Default | Extra |
    +-----------+--------------+------+-----+---------+-------+
    | set_id    | int(11)      | NO   | MUL |         |       |
    | set_value | varchar(255) | YES  |     | NULL    |       |
    +-----------+--------------+------+-----+---------+-------+
    2 rows in set (0.03 sec)


    4、測試方法:
     1public void testSave1()
     2    {
     3        Session session = null;
     4        CollectionMapping c = new CollectionMapping();
     5        
     6        c.setName("xxx");
     7        
     8        Set setValue = new HashSet();
     9        setValue.add("a");
    10        setValue.add("b");
    11        c.setSetValue(setValue);
    12        
    13        List listValue = new ArrayList();
    14        listValue.add("c");
    15        listValue.add("d");
    16        c.setListValue(listValue);
    17        
    18        String[] arrayValue = new String[]{"e""f"};
    19        c.setArrayValue(arrayValue);
    20        
    21        Map mapValue = new HashMap();
    22        mapValue.put("k1""v1");
    23        mapValue.put("k2""v2");
    24        c.setMapValue(mapValue);        
    25        try {
    26            session = HibernateUtil.getSession();
    27            session.beginTransaction();
    28            session.save(c);
    29            session.getTransaction().commit();
    30            
    31        }
     catch (Exception e) {
    32            // TODO: handle exception
    33            session.beginTransaction().rollback();
    34        }
    finally{
    35            session.close();
    36        }

    37    }




    -------------------------------------------------------------------------------------------------
    PS:本博客文章,如果沒有注明是有“轉”字樣,屬于本人原創。如果需要轉載,務必注明作者文章的詳細出處地址,否則不允許轉載,多謝合作!
    posted on 2008-10-26 13:16 apple0668 閱讀(2247) 評論(2)  編輯  收藏 所屬分類: hibernate

    評論:
    # re: 系統學習hibernate之十一:set、list、map、array集合 2008-10-26 23:09 | wt
    大哥!非常有用!謝謝嘍?。。?!  回復  更多評論
      
    # re: 系統學習hibernate之十一:set、list、map、array集合 2012-08-04 11:32 | aderkayy
    謝謝樓主的分享!  回復  更多評論
      
    主站蜘蛛池模板: 亚洲区小说区激情区图片区| 亚洲AV永久无码天堂影院| 亚洲午夜国产精品| 乱淫片免费影院观看| 大学生美女毛片免费视频| 亚洲高清在线视频| 中文字幕视频免费在线观看| 国产精品视频免费一区二区| 亚洲国产人成在线观看69网站| 国产成人精品免费大全| 国产精品免费_区二区三区观看| 亚洲电影在线免费观看| 人妻无码一区二区三区免费| 久久乐国产精品亚洲综合| 曰批免费视频播放免费| 免费在线观看毛片| 男女猛烈无遮掩视频免费软件| 国产区卡一卡二卡三乱码免费| 亚洲av日韩综合一区二区三区| 99精品国产免费久久久久久下载| 亚洲一级高清在线中文字幕| av无码免费一区二区三区| 亚洲一级毛片视频| 国产高清视频在线免费观看| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 国产产在线精品亚洲AAVV| 亚洲av日韩片在线观看| 日韩免费码中文在线观看| 免费精品国产自产拍在 | 美女被艹免费视频| 蜜桃成人无码区免费视频网站 | 四虎影视www四虎免费| 狠狠热精品免费观看| 亚洲av午夜福利精品一区| 4399好看日本在线电影免费| 毛片亚洲AV无码精品国产午夜| 国产精一品亚洲二区在线播放| 国产在线国偷精品产拍免费| 日韩久久无码免费毛片软件| 亚洲综合综合在线| 亚洲人成色777777在线观看|