锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 鏈榪戠珯闀胯В鍐充簡姝ら棶棰?鍋氫縿鏂囩綉绔欙紝鍚庡彴娣誨姞鏁版嵁鐨勬椂鍊欙紝蹇呴』鍋氫縿鏂囩増鐨勫悗鍙幫紝涓枃鐗堢殑鍚庡彴鍐欐暟鎹紝鏃跺欏墠鍙版樉紺鴻偗瀹氫細鍑虹幇涔辯爜錛屼縿鏂囩増鍚庡彴鏈鍓嶉潰蹇呴』鍔?lt;錛匑 codepage=866錛?gt;銆866浠h〃淇勬枃鐨勶紝涓嬮潰榪樻湁鍑犵浠h〃鏂瑰紡 < 錛匑 codepage=65001錛?gt;UTF-8 綆$悊鍚庡彴榪樿鍔犱笂<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> 榪欎竴鍙?涓嶇劧閮ㄥ垎浠g爜浼氬嚭鐜頒貢鐮? 鏈珯绔欓暱瑙e喅浜嗘闂渚涘ぇ瀹跺弬鑰?
<錛匑 codepage=936 錛?gt;綆浣撲腑鏂?br />
<錛匑 codepage=950錛?gt;綣佷綋涓枃
<錛匑 codepage=437 錛?gt;緹庡浗/鍔犳嬁澶ц嫳璇?br />
<錛匑 codepage=932 錛?gt;鏃ユ枃
<錛匑 codepage=949 錛?gt;闊╂枃
codepage鎸囧畾浜咺IS鎸変粈涔堢紪鐮佽鍙栥?br />
渚嬪閲囩敤UTF-8緙栫爜錛屽氨鍦ㄦ枃浠剁殑鏈涓婇潰鍔犱笂 <錛匑LANGUAGE="VBSCRIPT" CODEPAGE="65001"錛?gt;
渚嬪閲囩敤GBK緙栫爜錛屽氨鍦ㄦ枃浠剁殑鏈涓婇潰鍔犱笂 <錛匑LANGUAGE="VBSCRIPT" CODEPAGE="936"錛?gt;
]]>
絎竴縐嶏細
Test test=new Test();
絎簩縐?
test=Class.forName(Test).newInstance();
絎笁縐?/p>
String interceptorName="org.aaa.Test";
Class interceptorClass=Current.class.getClassLoader().loadClass(interceptorName);
Interceptor inerceptor=(Interceptor)interceptorClass.newInstance();
2.hibernate涓璼ession鐨刧et涓嶭oad鏂規硶鐨勫尯鍒傘傚墠涓闃佃繕璁板緱錛岀幇鍦ㄥ繕璁般傘?閮戒笉鐭ラ亾鐜板湪榪樿寰椾簺浠涔堜笢瑗夸簡銆?br />
(1)load鏂規硶錛?span class="hilite1">hibernate璁や負璇d瀵瑰簲鐨勫璞★紙鏁版嵁搴撹褰曪級鍦ㄦ暟鎹簱涓槸涓瀹氬瓨鍦ㄧ殑錛屽湪鐢ㄥ埌瀵硅薄涓殑
鍏朵粬灞炴ф暟鎹椂鎵嶆煡璇㈡暟鎹簱錛屼絾鏄竾涓鏁版嵁搴撲腑涓嶅瓨鍦ㄨ璁板綍錛屽彧鑳芥姏ObjectNotFoundEcception寮傚父
錛屾墍璇寸殑load鏂規硶鎶涘紓甯告槸鎸囧湪浣跨敤璇ュ璞$殑鏁版嵁鏃訛紝鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鏁版嵁鏃舵姏寮傚父錛岃屼笉鏄湪鍒涘緩榪?/p>
涓璞℃椂銆傜敱浜巗ession涓殑緙撳瓨瀵逛簬hibernate鏉ヨ鏄釜鐩稿綋寤変環鐨勮祫婧愶紝鎵浠ュ湪load鏃朵細鍏堟煡涓涓?/p>
session緙撳瓨鐪嬬湅璇d瀵瑰簲鐨勫璞℃槸鍚﹀瓨鍦紝涓嶅瓨鍦ㄥ垯鍒涘緩浠g悊銆傛墍浠ュ鏋滀綘鐭ラ亾璇d鍦ㄦ暟鎹簱涓竴瀹氭湁
瀵瑰簲璁板綍瀛樺湪灝卞彲浠ヤ嬌鐢?span class="hilite3">load鏂規硶鏉ュ疄鐜板歡榪熷姞杞姐?/p>
(2)get鏂規硶錛?span class="hilite1">hibernate浼氱‘璁や竴涓嬭id瀵瑰簲鐨勬暟鎹槸鍚﹀瓨鍦紝棣栧厛鍦╯ession緙撳瓨涓煡鎵撅紝鐒跺悗鍦ㄤ簩綰х紦
瀛樹腑鏌ユ壘錛岃繕娌℃湁灝辨煡鏁版嵁搴擄紝鏁版嵁搴撲腑娌℃湁灝辮繑鍥瀗ull銆?br />
3.spring AOP涓pointcut,advice鐨勬蹇電殑鐞嗚В銆傘?榪欎釜鎴戞槸鏍規湰灝變笉鐭ラ亾鍟ョ帺鎰忥紝鍙煡閬揂OP鐨勭偣鐐規剰鎬濄傘?br />
4.hibernate鐨勭戶鎵挎槧灝勫寘鍚簡鍝嚑縐嶄笉鍚岀殑絳栫暐錛屽茍璇村嚭鍚勮嚜鐨勭壒鐐廣傘侶OHO銆傘傝繖涓棶棰橈紝榪樻槸涓嶇煡閬撱傘備互鍓嶈涔︾殑鏃跺欑湅榪囩偣鐐圭浉鍏崇殑鍐呭錛岀幇鍦ㄦ棭灝卞繕璁扮殑涓騫蹭簩鍑浜嗐?/p>
Type 1: jdbc-odbc妗?
Jdbc-odbc妗ユ槸sun鍏徃鎻愪緵鐨勶紝鏄痡dk鎻愪緵鐨勭殑鏍囧噯api. 榪欑綾誨瀷鐨勯┍鍔ㄥ疄闄呮槸鎶婃墍鏈塲dbc鐨勮皟鐢ㄤ紶閫掔粰odbc ,鍐嶇敱odbc璋冪敤鏈湴鏁版嵁搴撻┍鍔ㄤ唬鐮?( 鏈湴鏁版嵁搴撻┍鍔ㄤ唬鐮佹槸鎸囩敱鏁版嵁搴撳巶鍟嗘彁渚涚殑鏁版嵁搴撴搷浣滀簩榪涘埗浠g爜搴?渚嬪鍦╫racle for windows涓氨鏄痮ci dll 鏂囦歡)
jdbc-odbc妗?nbsp;---- odbc---- 鍘傚晢DB浠g爜 ----- 鏁版嵁搴揝erver
(鍥句竴)
鍙鏈湴鏈鴻鏈夌浉鍏崇殑odbc椹卞姩閭d箞閲囩敤jdbc-odbc妗ュ嚑涔庡彲浠ヨ闂墍鏈夌殑鏁版嵁搴?jdbc-odbc鏂規硶瀵逛簬瀹㈡埛绔凡緇忓叿澶噊dbc driver鐨勫簲鐢ㄨ繕鏄彲琛岀殑.浣嗘槸,鐢變簬jdbc-odbc鍏堣皟鐢╫dbc鍐嶇敱odbc鍘昏皟鐢ㄦ湰鍦版暟鎹簱鎺ュ彛璁塊棶鏁版嵁搴?鎵浠?鎵ц鏁堢巼姣旇緝浣?瀵逛簬閭d簺澶ф暟鎹噺瀛樺彇鐨勫簲鐢ㄦ槸涓嶉傚悎鐨?鑰屼笖,榪欑鏂規硶瑕佹眰瀹㈡埛绔繀欏誨畨瑁卭dbc 椹卞姩,鎵浠ュ浜庡熀浜巌nternet ,intranet鐨勫簲鐢ㄤ篃鏄笉鍚堥傜殑.鍥犱負,浣犱笉鍙兘瑕佹眰鎵鏈夊鎴烽兘鑳芥壘鍒皁dbc driver.
Type 2: 鏈湴Api椹卞姩
鏈湴api椹卞姩鐩存帴鎶妀dbc璋冪敤杞彉涓烘暟鎹簱鐨勬爣鍑嗚皟鐢ㄥ啀鍘昏闂暟鎹簱.榪欑鏂規硶闇瑕佹湰鍦版暟鎹簱椹卞姩浠g爜.
鏈湴api椹卞姩----鍘傚晢DB浠g爜-----鏁版嵁搴揝erver
(鍥句簩)
榪欑椹卞姩姣旇搗jdbc-odbc妗ユ墽琛屾晥鐜囧ぇ澶ф彁楂樹簡.浣嗘槸,瀹冧粛鐒墮渶瑕佸湪瀹㈡埛绔姞杞芥暟鎹簱鍘傚晢鎻愪緵鐨勪唬鐮佸簱.榪欐牱灝變笉閫傚悎鍩轟簬internet鐨勫簲鐢?騫朵笖,浠栫殑鎵ц鏁堢巼姣旇搗3,4鍨嬬殑jdbc椹卞姩榪樻槸涓嶅楂?
Type3:緗戠粶鍗忚椹卞姩
榪欑椹卞姩瀹為檯涓婃槸鏍規嵁鎴戜滑鐔熸倝鐨勪笁灞傜粨鏋勫緩绔嬬殑. jdbc鍏堟妸瀵規暟灞搴撶殑璁塊棶璇鋒眰浼犻掔粰緗戠粶涓婄殑涓棿浠舵湇鍔″櫒. 涓棿浠舵湇鍔″櫒鍐嶆妸璇鋒眰緲昏瘧涓虹鍚堟暟鎹簱瑙勮寖鐨勮皟鐢?鍐嶆妸榪欑璋冪敤浼犵粰鏁版嵁搴撴湇鍔″櫒.濡傛灉涓棿浠舵湇鍔″櫒涔熸槸鐢╦ava寮鍙戠殑,閭d箞鍦ㄥ湪涓棿灞備篃鍙互浣跨敤1,2鍨?jdbc椹卞姩紼嬪簭浣滀負璁塊棶鏁版嵁搴撶殑鏂規硶.
緗戠粶鍗忚椹卞姩---------涓棿浠舵湇鍔″櫒------------鏁版嵁搴揝erver
( 鍥句笁)
鐢變簬榪欑椹卞姩鏄熀浜巗erver鐨?鎵浠?瀹冧笉闇瑕佸湪瀹㈡埛绔姞杞芥暟鎹簱鍘傚晢鎻愪緵鐨勪唬鐮佸簱.鑰屼笖浠栧湪鎵ц鏁堢巼鍜屽彲鍗囩駭鎬ф柟闈㈡槸姣旇緝濂界殑.鍥犱負澶ч儴鍒嗗姛鑳藉疄鐜伴兘鍦╯erver绔?鎵浠ヨ繖縐嶉┍鍔ㄥ彲浠ヨ璁$殑寰堝皬,鍙互闈炲父蹇熺殑鍔犺澆鍒板唴瀛樹腑. 浣嗘槸,榪欑椹卞姩鍦ㄤ腑闂翠歡灞備粛鐒墮渶瑕佹湁閰嶇疆鍏跺畠鏁版嵁搴撻┍鍔ㄧ▼搴?騫朵笖鐢變簬澶氫簡涓涓腑闂村眰浼犻掓暟鎹?瀹冪殑鎵ц鏁堢巼榪樹笉鏄渶濂?
Type4 鏈湴鍗忚椹卞姩
榪欑椹卞姩鐩存帴鎶妀dbc璋冪敤杞崲涓虹鍚堢浉鍏蟲暟鎹簱緋葷粺瑙勮寖鐨勮姹?鐢變簬4鍨嬮┍鍔ㄥ啓鐨勫簲鐢ㄥ彲浠ョ洿鎺ュ拰鏁版嵁搴撴湇鍔″櫒閫氳.榪欑綾誨瀷鐨勯┍鍔ㄥ畬鍏ㄧ敱java瀹炵幇,鍥犳瀹炵幇浜嗗鉤鍙扮嫭绔嬫?
鏈湴鍗忚椹卞姩---------鏁版嵁搴揝erver
( 鍥懼洓)
鐢變簬榪欑椹卞姩涓嶉渶瑕佸厛鎶妀dbc鐨勮皟鐢ㄤ紶緇檕dbc鎴栨湰鍦版暟鎹簱鎺ュ彛鎴栬呮槸涓棿灞傛湇鍔″櫒.鎵浠ュ畠鐨勬墽琛屾晥鐜囨槸闈炲父楂樼殑.鑰屼笖,瀹冩牴鏈笉闇瑕佸湪瀹㈡埛绔垨鏈嶅姟鍣ㄧ瑁呰澆浠諱綍鐨勮蔣浠舵垨椹卞姩. 榪欑椹卞姩紼嬪簭鍙互鍔ㄦ佺殑琚笅杞?浣嗘槸瀵逛簬涓嶅悓鐨勬暟鎹簱闇瑕佷笅杞戒笉鍚岀殑椹卞姩紼嬪簭.
浠ヤ笂瀵瑰洓縐嶇被鍨嬬殑jdbc椹卞姩鍋氫簡涓涓鏄?閭d箞瀹冧滑閫傚悎閭g綾誨瀷鐨勫簲鐢ㄥ紑鍙戝憿?Jdbc-odbc妗ョ敱浜庡畠鐨勬墽琛屾晥鐜囦笉楂?鏇撮傚悎鍋氫負寮鍙戝簲鐢ㄦ椂鐨勪竴縐嶈繃搴︽柟妗?鎴栫潃瀵逛簬鍒濆鑰呬簡瑙dbc緙栫▼涔熻緝閫傜敤. 瀵逛簬閭d簺闇瑕佸ぇ鏁版嵁閲忔搷浣滅殑搴旂敤紼嬪簭鍒欏簲璇ヨ冭檻2,3,4鍨嬮┍鍔?鍦╥ntranet鏂歸潰鐨勫簲鐢ㄥ彲浠ヨ冭檻2鍨嬮┍鍔?浣嗘槸鐢變簬3,4鍨嬮┍鍔ㄥ湪鎵ц鏁堢巼涓婃瘮2鍨嬮┍鍔ㄦ湁鐫鏄庢樉鐨勪紭鍔?鑰屼笖鐩墠寮鍙戠殑瓚嬪娍鏄嬌鐢ㄧ函java.鎵浠?,4鍨嬮┍鍔ㄤ篃鍙互浣滀負鑰冭檻瀵硅薄. 鑷充簬鍩轟簬internet鏂歸潰鐨勫簲鐢ㄥ氨鍙湁鑰冭檻3,4鍨嬮┍鍔ㄤ簡. 鍥犱負3鍨嬮┍鍔ㄥ彲浠ユ妸澶氱鏁版嵁搴撻┍鍔ㄩ兘閰嶇疆鍦ㄤ腑闂村眰鏈嶅姟鍣?鎵浠?鍨嬮┍鍔ㄦ渶閫傚悎閭g闇瑕佸悓鏃惰繛鎺ュ涓笉鍚岀綾葷殑鏁版嵁搴? 騫朵笖瀵瑰茍鍙戣繛鎺ヨ姹傞珮鐨勫簲鐢? 4鍨嬮┍鍔ㄥ垯閫傚悎閭d簺榪炴帴鍗曚竴鏁版嵁搴撶殑宸ヤ綔緇勫簲鐢?
select *
from (select row_number() over(order by t.BEGIN_DATE) ranging,
decode(action_seq,
2,
t.person_name,
3,
(select name from account where id = s1.main_account_seq),
(select name from account where id = s1.main_account_seq)) as debit_name,
decode(action_seq,
7,
t.person_name,
4,
(select name from account where id = s1.main_account_seq),
(select name from account where id = s2.main_account_seq)) as credit_name,
(SELECT action_name FROM action_type WHERE t.action_seq = ID) AS action_name,
decode(action_seq,
2,
decode(bank_seq,
null,
'閭眬',
(select bank_name
from bank_info
where id = t.bank_seq)),
(select bank_name from bank_info where id = t.bank_seq)) bankname,
decode(action_seq,
2,
t.card_no,
(select decode(a.email, null, a.mobile, a.email)
from account a, sub_account s
where a.id = s.main_account_seq
and s.id = t.debit_seq)) as debit_no,
decode(action_seq,
4,
t.card_no,
7,
t.card_no,
(select decode(a.email, null, a.mobile, a.email)
from account a, sub_account s
where a.id = s.main_account_seq
and s.id = t.credit_seq)) as credit_no,
t.amount,
to_char(t.BEGIN_DATE, 'YYYY-MM-DD hh24:mi') as begin_date,
t.remark,
t.id,
t.voucher_code,
t.DEBIT_FEE,
t.CREDIT_FEE
from transaction t, sub_account s1, sub_account s2
where t.voucher_code is not null
and exists
(select s.id
from account a, sub_account s
where s.main_account_seq = a.id
and a.account_type = 'B'
and (t.credit_seq = s.id or t.debit_seq = s.id))
and t.DEBIT_SEQ = s1.ID
and t.CREDIT_SEQ = s2.ID
and t.action_seq = 3)
where ranging between 1 and 100