日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Hibernate集合映射之Map-----element映射基本類

系統 1949 0

所謂基本類型,就是指java.lang.String,java.lang.Integer等基本類?以及用戶編寫的非實體類,雖然map中的數據是我們的數據庫中的一個表,但我們不必為他創建POJO類及HBM文件

數據庫結構:

?

create ? table ?teamMap?(id? varchar ( 32 ),teamname? varchar ( 32 ));
create ? table ?studentMap?(name? varchar ( 32 ),description? varchar ( 32 ),?team_id? varchar ( 32 ));

?

實體類:(只有Team),其中的student無實體類,用表studentMap的name字段作為key,description作為value

?

package ?Collection.Map.Simple;

import ?java.util.HashMap;
import ?java.util.Map;

public ? class ?Team? ... {
???
private ?String?id;
???
private ?String?teamname;
???
private ?Map?students = new ?HashMap();
public ?String?getId()? ... {
????
return ?id;
}

public ? void ?setId(String?id)? ... {
????
this .id? = ?id;
}

public ?String?getTeamname()? ... {
????
return ?teamname;
}

public ? void ?setTeamname(String?teamname)? ... {
????
this .teamname? = ?teamname;
}

public ?Map?getStudents()? ... {
????
return ?students;
}

public ? void ?setStudents(Map?students)? ... {
????
this .students? = ?students;
}

}

?

Team.hbm.xml

?

<? xml?version="1.0"?encoding="utf-8" ?>
<! DOCTYPE?hibernate-mapping?PUBLIC?"-//Hibernate/Hibernate?Mapping?DTD?3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<!-- ?
????Mapping?file?autogenerated?by?MyEclipse?-?Hibernate?Tools
-->
< hibernate-mapping >
< class? name ="Collection.Map.Simple.Team" ?table ="teamMap" ? >
????
< id? name ="id" ?unsaved-value ="null" >
??????
< generator? class ="uuid.hex" ></ generator >
????
</ id >
????
< property? name ="teamname" ?type ="string" ?column ="teamname" ></ property >
????
< map? name ="students" ?table ="studentMap" >
??????
< key? column ="team_id" ></ key >
??????
<!-- ?index代表key,element代表value,一個map標簽只能有一個element? -->
??????
< index? column ="name" ?type ="string" ></ index >
??????
< element? type ="string" ?column ="description" ></ element >
????
</ map >
</ class >

</ hibernate-mapping >

?

Hibernate.cfg.xml

?

<? xml?version='1.0'?encoding='UTF-8' ?>
<! DOCTYPE?hibernate-configuration?PUBLIC
??????????"-//Hibernate/Hibernate?Configuration?DTD?3.0//EN"
??????????"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>

<!-- ?Generated?by?MyEclipse?Hibernate?Tools.??????????????????? -->
< hibernate-configuration >

< session-factory >
????
< property? name ="connection.username" > root </ property >
????
< property? name ="connection.url" >
????????jdbc:mysql://localhost:3306/schoolproject?characterEncoding=gb2312
&amp; useUnicode=true
????
</ property >
????
< property? name ="dialect" >
????????org.hibernate.dialect.MySQLDialect
????
</ property >
????
< property? name ="myeclipse.connection.profile" > mysql </ property >
????
< property? name ="connection.password" > 1234 </ property >
????
< property? name ="connection.driver_class" >
????????com.mysql.jdbc.Driver
????
</ property >
????
< property? name ="hibernate.dialect" >
????????org.hibernate.dialect.MySQLDialect
????
</ property >
????
< property? name ="hibernate.show_sql" > true </ property >
????
< property? name ="current_session_context_class" > thread </ property >
????
< property? name ="jdbc.batch_size" > 15 </ property >
????
< mapping? resource ="Collection/Map/Simple/Team.hbm.xml" ? />




</ session-factory >

</ hibernate-configuration >

?

測試代碼:

?

package ?Collection.Map.Simple;


import ?java.io.File;
import ?java.util.Map;

import ?org.hibernate.Session;
import ?org.hibernate.SessionFactory;
import ?org.hibernate.Transaction;
import ?org.hibernate.cfg.Configuration;

public ? class ?Test? ... {


????
public ? static ? void ?main(String[]?args)? ... {

????????String?filePath
= System.getProperty( " user.dir " ) + File.separator + " src/Collection/Map/Simple " + File.separator + " hibernate.cfg.xml " ;
????????File?file
= new ?File(filePath);
????????System.out.println(filePath);
????????SessionFactory?sessionFactory
= new ?Configuration().configure(file).buildSessionFactory();
????????Session?session
= sessionFactory.openSession();
????????Transaction?t
= session.beginTransaction();
????????
????????Team?team
= new ?Team();
????????team.setTeamname(
" team1 " );
????????Map?stuMap
= team.getStudents();
????????stuMap.put(
" stu1 " ,? " stu1?description " );
????????stuMap.put(
" stu2 " ,? " stu2?description " );
????????
????????session.save(team);
????????
????????t.commit();
????????
????}


}

?

運行結果:

Hibernate: insert into teamMap (teamname, id) values (?, ?)
Hibernate: insert into studentMap (team_id, name, description) values (?, ?, ?)
Hibernate: insert into studentMap (team_id, name, description) values (?, ?, ?)

Hibernate集合映射之Map-----element映射基本類型值


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 山阳县| 礼泉县| 柞水县| 黎川县| 宿迁市| 宁明县| 蒙城县| 棋牌| 汕头市| 青神县| 渝中区| 安阳县| 博客| 天柱县| 扎赉特旗| 永靖县| 抚顺县| 荣昌县| 铁力市| 洛阳市| 扎赉特旗| 辽阳市| 吉木萨尔县| 双城市| 湟源县| 南皮县| 甘孜| 石屏县| 南京市| 河津市| 凌云县| 古田县| 阿合奇县| 横峰县| 东莞市| 札达县| 商都县| 象州县| 镇远县| 大渡口区| 三原县|