亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hibernate.txt

?? Java大部分的基礎知識,EJB3,EJB2,WEBSERVICE,SOAP,JMS,MQ,還有些面試題
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
		第二個sql才是增加
	6、通過設置show_sql=true顯示所有在sql,便于分析系統的問題。
	7、在hibernate.cfg.xml中設置如下參數
		fetch-size:hibernate在select時一次從數據庫取多少行
			對于oracle默認是15,可以設置為30-50,太大了
			并不是很好。
		bach-size:hibernate在執行insert、update、delete時
			一次向數據庫提交多少行。
		行越多其執行效率越高,因為減少與數據庫交互次數。
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
				<prop key="hibernate.show_sql">false</prop>
				<!-- Create/update the database tables automatically when the JVM starts up
				<prop key="hibernate.hbm2ddl.auto">update</prop> -->
				<!-- Turn batching off for better error messages under PostgreSQL 
				<prop key="hibernate.jdbc.batch_size">100</prop> -->
				<prop key="hibernate.jdbc.fetch_size">50</prop>
			</props>
		</property>
		注意在批量增加時需要:
			session.flush();
			sessionFactory.flush();
數據庫的類型:
	1、事務型數據庫:oltp,主要的操作insert、delete、update
	2、分析型數據庫:olap,主要的操作select
sql
	1、聯接:將多個表的列合在一起,one被復制了n-1份
		--聯接條件在from中
		select c.*,b.* from customer c join buy b on c.customerName=b.customerName;
		--聯接條件在where中
		select c.*,b.* from customer c,buy b where c.customerName=b.customerName;
		--左聯接:左邊所有,右邊匹配
		select c.*,b.* from customer c left join buy b on c.customerName=b.customerName;
	2、聯合:將多個表的行合在一起
		select customerName from customer
		union
		select buyName from buy;
	3、子查詢:子查詢的結果是父查詢的條件
		select * from buy where customerName in
		(
			select customerName from customer;
		)

四、manytomany
	create table power
	(
		powerID int primary key,
		powerName varchar(20)
	);
	create table role
	(
		roleID int primary key,
		roleName varchar(20)
	);
	create table rolepower
	(	
		powerID int foreign key references power(powerID),
		roleID int foreign key references role(roleID)
	);
	--power
	<set name="rolepowerSet" inverse="true"  table="rolepower">
            <key column="powerID"/>  --powerID是rolepower的外鍵列
            <many-to-many class="hibernate.Role" column="roleID"/> --roleID是rolepower的外鍵列
        </set>
		--清楚當前power的主鍵值
		select * from Role where rowID in
		(
			select roleID 
			from rolepower where  powerID=當前power的主鍵值
		);
	--role
	<set name="rolepowerSet" inverse="false" table="rolepower">
            <key column="roleID"/>
            <many-to-many class="hibernate.Power" column="powerID" />

		select * from Power where powerID in
		(select 中間的外鍵powerID from rolepower where 中間的外鍵roleID=role表的主鍵(roleId))
        </set>
OneToMany:
	1、查找是雙向,一方可以直接取出另一方,若要找到另一方,必將另一方作為當前方所屬性。
		one應當有表Set屬性,many應當有一個One類型的屬性。
	2、主控方:主要維護外鍵列的值。
		inverse="false"代表是主控方,另一方則為被控方,反之亦然。
		若要維護主外鍵的值,必須將被控方作為主控方的屬性
		一般主控方在many這邊。
主鍵的生成方式:
	assigned:主鍵需要用戶給定
	native:在數據庫中對應的identity,增加時用戶不用管,
		hibernate也不用管理。
hibernate的OneToMany
	1、hibernate中的oneToMany是雙向,對于one有一個屬性是set,對應的是many的對象,
	   對于many有一個屬是One對象,通過one的get方法可以取出many,通過many的
	   get方法可以取出one。
	   public class Customer
	   {
	   	private String customerName;
	   	private String sex;
	   	private Set buies;
	   	public void setBuies(set buies)
	   	{
	   		this.buies=buies;
	   	}
	   	public Set getBuies()
	   	{
	   		return this.buies;
	   	}
	   }	   
	   public class Buy
	   {
	   	private int buyID;
	   	private Customer customer;
	   	public void setCustomer(Customer customer)
	   	{
	   		this.customer=customer;
	   	}
	   	public Customer getCustomer()
	   	{
	   		return this.customer;
	   	}
	   }
	 2、主控方,英文是(inverse),用于維護外鍵值。
	 	如果inverse=false代表主控方,則另一方就是被控方,返這亦然。
	 	若要維護外鍵值必須將被控方作為主控方的一個屬性,
	 		通過set方法將被控方注入到主控方中。
	 	一般主控方要many這邊,因為在增加時只產一個insert語句。
	 3、延遲加載,英文是(lazy)
	 	若lazy=true,代表是延遲加載,加載時只加載當前對象,
	 		不加載相關對象,只有用到相關對象才加載,默認是延遲加載。
	 	若lazy=false,代表是即時加載,不但加載當前對象的,
	 		還加載其相關對象值。
	 	一般用的是lazy=true,即延遲加載
	 4、級聯,主增從增、主刪從刪、主改從改
	 	cascade="all":代表主增從增、主刪從刪、主改從改
	 	cascade="save-update":代表主增從增、主改從改
	 	若實現這樣的效果,必須將從作為主的屬性值或屬性一個元素。
	 	級聯給開發帶來的快捷,但一般不用,用開發的不方便。
	 5、為什么主控方在many方,不在one方,因為如果主控方在many方,增加時只產生一個sql
	    如果主控方在one方,增加時產生兩個sql
hibernate對象的生命周期
	1、自由狀態:用戶自己創建的類
		Customer customer=new Customer();
	2、持久狀態:經過get/load、update、insert、query.list操作后的對象,其由session管理。
		    在持久狀態對象的兩大特征:
		    	1、通過get方法可以取出對方
		    	2、在事務內可以通過set方法直接修改對象值。
	3、游離狀態:被session拋棄。
update方法與當象處于持狀態時的區別
	update方法中的對象應當沒有在session中,即處于游離或自由狀態,修改會成功。
	set方法只可以用的持久狀態。
復習:
	struts
		將IFcade作為BaseAction的一個屬性,通過FacadeFactory產Facade實例,返回一個IFacade接口。
	facade
		IFacade
		Facade
		FacadeFactory:
			產Facade實例,返回一個IFacade接口。
	dao
		UserDao接口
		UserDao實現類
		UserDaoFactory:產生具體的UserDao實現類,返回一個抽象的接口
		AbstractFactory:用了單例、返射、工廠,實例化了UserDaoFactory,
			   返回了一個AbstractFactory抽象類。
			   因為UserDaoFactory
			   是AbstractFacatory的子類,所以業務層調用的還是子類的
			   getUserDao方法產生具體的UserDao實現實例,返回UserDao接口。
	hibernate:持久化

四、hibernate的核心配置文件及作用?
	hibernate.cfg.xml:說明數據庫的連接及具體o/r Mapping文件所在的位置
	*.hbm.xml:具體的o/r mapping映射文件,說明類與表,屬性與字段的對應關系。
五、hibernate的核心類及作用?
	Configuration:加載hibernate.cfg.xml及*.hbm.xml文件
		Configuration config=new Configuration().configure();
	SessionFactory:產生sesson,進行二級緩存的管理,即應用級緩存的管理。
		SessionFactory sessionFactory=config.buildSessionFactory();
	Session:具體一個會話,進行增刪改查,進行一級緩存的管理,
			即事務級的緩存管理.
		save
		update
		delete
		get/load:根據主鍵值及類說明查找得到一個對象
		Query:根所sql查找得到一批數據也可批量刪除數據。其sql叫HQl,
			from后必須類名,條件里必須是屬性名而不是字段名
			Query query=session.createQuery("from Users where userName=:a and pwd=:b");
			query.setString("a","張三");
			query.setString("b","1234");
			query.list();
			//批量刪除
			Query query=session.createQuery("delete from Users");
			query.executeUpdate();
	Transaction:事務管理
		Transaction trans=session.beginTransaction();
		trans.commit();
		trans.rollback();
六、對于一個表,hibernate對應的主鍵生成機制有很多種?
	assigned:主鍵值需要手動給定,開發人員必須手動給值
	native:主鍵由數據庫自動生成,hibernate不管,開發人員也不用管。

hibernate的查詢 (比較get 與load) 
hibernate的查詢的比較
hibernate的查詢有很多,Query,find,Criteria,get,load

query使用hsql語句,可以設置參數是常用的一種方式

criteria的方式,盡量避免了寫hql語句,看起來更面向對象了。

find方式,這種方式已經被新的hibernate丟棄見這里
http://www.blogjava.net/dreamstone/archive/2007/07/28/133053.html

get和load方式是根據id取得一個記錄
下邊詳細說一下get和load的不同,因為有些時候為了對比也會把find加進來。

1,從返回結果上對比:
load方式檢索不到的話會拋出org.hibernate.ObjectNotFoundException異常
get方法檢索不到的話會返回null

2,從檢索執行機制上對比:
get方法和find方法都是直接從數據庫中檢索
而load方法的執行則比較復雜
1,首先查找session的persistent Context中是否有緩存,如果有則直接返回
2,如果沒有則判斷是否是lazy,如果不是直接訪問數據庫檢索,查到記錄返回,查不到拋出異常
3,如果是lazy則需要建立代理對象,對象的initialized屬性為false,target屬性為null
4, 在訪問獲得的代理對象的屬性時,檢索數據庫,如果找到記錄則把該記錄的對象復制到代理對象的target
上,并將initialized=true,如果找不到就拋出異常 。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲高清一区| 精品在线你懂的| 在线不卡中文字幕播放| 波多野洁衣一区| 国产成人免费视频网站| 国产99久久久国产精品潘金 | 蜜臀av性久久久久蜜臀aⅴ流畅| 一区二区久久久| 日韩av中文在线观看| 蜜桃精品视频在线观看| 国产美女在线观看一区| 99久久精品国产精品久久| 欧美日韩一区二区三区免费看| 精品国产乱码久久久久久影片| 国内精品久久久久影院薰衣草| 国产91在线看| 欧美日韩激情一区二区三区| 日韩欧美aaaaaa| 亚洲精品国产一区二区精华液| 免费一级片91| 99久久亚洲一区二区三区青草| 欧美吻胸吃奶大尺度电影| 久久综合久久鬼色中文字| 中文字幕一区免费在线观看| 亚洲成av人影院在线观看网| 国产一区不卡视频| 欧美一级高清片在线观看| 亚洲天堂免费在线观看视频| 久久精品国产一区二区三区免费看| 国产精品1区二区.| 日韩亚洲欧美中文三级| 亚洲成人tv网| 在线观看日韩电影| 亚洲特级片在线| 成人教育av在线| 国产女人aaa级久久久级| 久久成人精品无人区| 欧美电影一区二区| 石原莉奈在线亚洲二区| 7777精品伊人久久久大香线蕉的 | 色域天天综合网| 国产精品欧美久久久久一区二区| 国内精品写真在线观看| 欧美一区二区三区在线观看| 丁香另类激情小说| 国产亚洲精品7777| 亚洲欧美视频在线观看| 午夜精品久久久久久久久久久| 免费不卡在线视频| 欧洲激情一区二区| 在线观看91精品国产麻豆| 综合中文字幕亚洲| 777欧美精品| 樱桃国产成人精品视频| 94色蜜桃网一区二区三区| 亚洲三级在线免费| 欧亚洲嫩模精品一区三区| 视频一区在线视频| 中文字幕免费一区| 69久久99精品久久久久婷婷 | 亚洲午夜精品久久久久久久久| 成人黄色电影在线 | 不卡一卡二卡三乱码免费网站| 亚洲一区在线观看视频| 亚洲一区二区欧美日韩| 欧美一区二区在线看| 国产成人亚洲综合色影视| 亚洲最大成人网4388xx| 91精品国产欧美一区二区| 波多野结衣91| 国产一区三区三区| 午夜视频在线观看一区二区三区| 久久久蜜桃精品| 日韩一区二区三区三四区视频在线观看 | 亚洲国产成人一区二区三区| 久久狠狠亚洲综合| 日本精品视频一区二区| 国模大尺度一区二区三区| 依依成人精品视频| 国产精品的网站| 日韩精品一区二区三区中文精品| 色综合欧美在线| 国产乱人伦精品一区二区在线观看 | 精品国产制服丝袜高跟| 欧美在线观看视频一区二区三区| 国产91精品露脸国语对白| 日韩中文字幕区一区有砖一区 | 丰满放荡岳乱妇91ww| 狠狠色狠狠色综合系列| 久久se这里有精品| 麻豆精品在线观看| 国产精品一区二区男女羞羞无遮挡| 午夜精品久久一牛影视| 麻豆国产一区二区| 国产一区免费电影| proumb性欧美在线观看| 99re视频精品| 欧美一区二区三区成人| 精品美女一区二区三区| 国产午夜精品一区二区| 中文字幕一区二区三区视频| 亚洲色图清纯唯美| 首页国产欧美久久| 国产剧情在线观看一区二区| 欧洲视频一区二区| 国产精品一区二区免费不卡| 国产精品一区二区三区网站| 99热这里都是精品| 91精品国产麻豆| 国产日韩欧美精品综合| 亚洲午夜国产一区99re久久| 蜜桃精品视频在线| 色综合天天做天天爱| 日韩一区二区不卡| 亚洲一区二区三区四区中文字幕| 免费久久精品视频| 在线观看日韩一区| 国产午夜精品一区二区| 全国精品久久少妇| 在线观看不卡一区| 亚洲日本丝袜连裤袜办公室| 国产精品羞羞答答xxdd| 日韩一级高清毛片| 视频一区视频二区在线观看| 99久久免费精品| 欧美国产日韩亚洲一区| 国产精品一区二区在线观看不卡 | 日本最新不卡在线| 欧美日韩在线综合| 久久精品国产亚洲aⅴ| 26uuu久久天堂性欧美| 亚洲激情第一区| 久久91精品久久久久久秒播| 成人在线一区二区三区| 99热在这里有精品免费| 在线观看日韩av先锋影音电影院| 欧美日韩在线综合| 欧美xxxxxxxx| 精品无人码麻豆乱码1区2区| 日韩欧美国产综合| 精品一区二区影视| 久久久久久久久久久久久女国产乱 | 久久嫩草精品久久久精品一| 国内精品写真在线观看| 色婷婷精品久久二区二区蜜臀av| 国产精品美女久久久久久久| 不卡av电影在线播放| 久久久国产午夜精品| 大桥未久av一区二区三区中文| 日本一区二区三区免费乱视频 | 日韩欧美二区三区| 国产电影一区二区三区| 亚洲乱码国产乱码精品精的特点| 欧美日韩精品免费观看视频| 国内精品在线播放| 亚洲欧美乱综合| 欧美一区二区视频在线观看| 成人精品高清在线| 男女性色大片免费观看一区二区 | 久草中文综合在线| 中文字幕va一区二区三区| 欧美日韩一级黄| 国产69精品一区二区亚洲孕妇| 亚洲一区精品在线| 国产亚洲综合av| 欧美精品亚洲一区二区在线播放| 国产精品羞羞答答xxdd| 亚洲妇女屁股眼交7| 亚洲免费大片在线观看| 中文字幕不卡在线观看| 久久久久久久精| 日韩三级.com| 91精品国产综合久久久久久久| 91麻豆精品一区二区三区| 成人免费av网站| 成人av高清在线| 成人免费av资源| 福利一区福利二区| 国产成人精品影视| 成人毛片在线观看| 菠萝蜜视频在线观看一区| 成人av在线播放网站| jlzzjlzz国产精品久久| 92国产精品观看| 精品视频色一区| 7777精品伊人久久久大香线蕉超级流畅| 91丝袜美女网| 欧美一级欧美三级| 欧美www视频| 亚洲欧美在线视频观看| 亚洲小少妇裸体bbw| 日韩不卡一区二区| 国产剧情一区在线| 在线观看亚洲精品视频| 日韩亚洲欧美成人一区| 日韩一区二区三区在线| 91福利精品第一导航| 日韩欧美国产综合| 亚洲精品欧美综合四区| 国产麻豆一精品一av一免费|