[size=large][color=blue]整合步驟總結:[/color][/size]
[size=medium]1,action中利用request.getparameter("*",x)可以獲得jsp頁面傳過來的引數
2,jsp頁面中加<%@taglib uri="" prefix="bean"%>後
獲得引數,使用方法:$
獲得物件,使用同上
3,hibernate中:一對多關係中,hibernate預設是懶的初始化(lazy=true),這樣當你查詢一的一方時,它不會級聯查詢多的一方,這樣單的一方就沒辦法使用儲存在類中多的一方的屬性
如果想使用就必須在多的一方中加上lazy=false,如:
當多的一方是通過外來鍵指向單的一方主鍵時:預設的
4,jsp頁面中實現國際化方法:[/size]
<%@taglib uri="" prefix="html"%>
$ 其中name為配置檔案中寫的
<%@taglib uri="" prefix="bean" %>
key中為配置檔案寫的
[size=medium]5,頁面編碼問題:
通常可以通過寫過濾器來解決,但是寫了過濾器之後,還可能出現頁面亂碼,url不支援中文傳輸,所有通常在傳中文時最好用post方法(表單實現,get是用url實現),如果要用get也可以在tomcat中conf.server.xml檔案中找到修改埠的地方加上uriencoding="編碼方式"即可。
6,級聯刪除:
如果想刪除a表,但是b表的乙個外來鍵指向a表,關係維護在b表中,這時要向刪除a表中的資料,首先要查出b表中指向a表的資料,然後把b表中的外來鍵設為空,在刪除a表中資料。
如果兩個表都維護關係,寫級聯就ok
7,通過hibernate配置檔案自動建立表:
(1)寫好實體,和詳細的xml影射檔案
(2)在hibernate配置檔案中新增
載入後即可生成sql語句。
8,利用powerdesigner通過**生成關係圖:
file--->reverse engineer--->datebase--->彈出對話方塊
輸入名字,選擇資料庫,單擊確定
新增.sql檔案後單擊確定後可以生產圖。
9,以下**很有效:實現了分頁查詢所有物件的模板 // 定義泛型[/size]
public listselectallobject(classclazz,page page)
return objects;
}
[size=medium]實現用物件或物件的屬性實現分頁查詢:
/**實現hibernatecallback()方法所傳的引數必須是final的,
*final t exampleentity : 傳過來的實體物件 final string propertyname :實體物件的屬性名字
*final object startdata,final object enddata :通過時間查詢時需要 final page page :分頁時需要
*/[/size]
import org.hibernate.criteria;
import org.hibernate.hibernateexception;
import org.hibernate.query;
import org.hibernate.session;
import org.hibernate.criterion.criterion;
import org.hibernate.criterion.example;
import org.hibernate.criterion.expression;
import org.springframework.orm.hibernate3.hibernatecallback;
import org.springframework.orm.hibernate3.support.hibernatedaosupport;
protected listselectbyexampleentity(final t exampleentity,final string propertyname,
final object startdata,final object enddata,final page page)
criteria.add(example);
page.setordercount(new long(criteria.list().size()));
criteria.setfirstresult((page.getpagenumber()-1)*page.getmax());
criteria.setmaxresults(page.getmax());
return criteria.list();
}});
return (list) object;
}
[size=medium]10, 在hibernate.hbm.xml檔案配置中指定lazy="false"的話,固然可以在查詢該物件的時候將其關係物件
一併查詢出來,只是影響全域性,或許我們只是想在某些情況下順帶查詢關係物件,在不需要的時候則
浪費了查詢時間以及記憶體空間。為了縮小影響範圍,我們可以不指定lazy="false",只是在web.xml
檔案中,配置乙個spring提供的過濾器,如此便可在一次連線的範圍內擴大事務,即使事務結束、session
被關閉,再獲取關係屬性一樣可行(school.getstudents() ... ),使用如下所示 : [/size]
opensessioninviewfilter
org.springframework.orm.hibernate3.support.opensessioninviewfilter
singlesession
true
sessionfactorybeanname
sessionfactory
[size=medium]11,oracle資料庫:
當你修改了自己的計算機名稱後,就會出現無法登陸oracle主頁等其它狀況;
找到你資料庫的安裝目錄:d:\..\oracle\product\10.2.0\server\network\admin下邊有兩個檔案
listener.ora和tnsnames.ora,開啟它們並把其中的主機名(host)改為現在的主機名就ok
當兩個表的列相同時(個數,名稱,約束):
union連線兩個select語句可以將兩個表的資料加在一起(去掉重複),union all顯示所有
eg: select id,name from student1 union (all) select id,name from student2 ;
12,日期和字串之間相互轉換:[/size]
date d = new ******dateformat("yyyy-mm-dd").parse("1234-25-30");system.out.println(d);
string str = new ******dateformat("yyyy-mm-dd").format(d);
system.out.print(str);
SSH初次的整合
環境 eclipse neon release 4.6.0 spring 4.3.8.release hibetnate4 struts2 mysql5 因為spring要融合hibernate和struts2 我就先加入的spring spring資源 密碼 qy7i hibernate資源 密碼...
Ajax框架整合
我們知道,每次根據不同介面,寫不同的ajax是一件比較麻煩的事兒,但是又不逃避他們,那麼該腫麼辦呢,下面給大家介紹一種整合框架,可以根據與不同介面去建立不同的ajax lang en charset utf 8 title head function ajax option 迴圈遍歷傳參 for v...
關於ssh和ajax小小總結
我是相當的不專業,寫給自己看。有什麼錯誤的話,說出來將感激不盡。有兩種方法非同步傳輸 1.通過json字串 jsp中這麼寫 getjson details ajaxaction function data success function responseresult each responsere...