锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲午夜成人精品无码色欲,亚洲字幕在线观看,亚洲国产精品成人精品无码区在线http://www.tkk7.com/peacess/zh-cnSat, 10 May 2025 23:44:50 GMTSat, 10 May 2025 23:44:50 GMT60騫沖彴欏圭洰涓殑騫寵 http://www.tkk7.com/peacess/archive/2013/09/04/403677.html涓笢涓笢Wed, 04 Sep 2013 13:25:00 GMThttp://www.tkk7.com/peacess/archive/2013/09/04/403677.htmlhttp://www.tkk7.com/peacess/comments/403677.htmlhttp://www.tkk7.com/peacess/archive/2013/09/04/403677.html#Feedback0http://www.tkk7.com/peacess/comments/commentRss/403677.htmlhttp://www.tkk7.com/peacess/services/trackbacks/403677.html紿佺劧鏈変竴澶╂湁涓涓満浼氬湪欏圭洰涓妸涓浜涙垜璁や負鏈夌敤鐨勪笢瑗挎娊鍙栧嚭鏉ユ斁鍒伴偅閲岋紝銆傘傘傘傘?br />紿佺劧鏈変竴澶╁彂鐜板師鏉ヨ嚜宸辨娊鍙栧嚭鏉ョ殑涓滆タ浠庢潵灝辨病鏈変嬌鐢ㄨ繃銆傘傘傘傘?br />姣忓綋閬囧埌闂瑕佽В鍐蟲椂錛屾昏繕鏄綉涓婂埌澶勬壘錛岀獊鐒舵壘鍒頒竴涓枃绔犲啓鐨勫緢濂姐傘傘傘傘傘傛渶鍚庡彂鐜拌繖涓枃绔犳槸鑷繁鍐欑殑
澶氫簡鏃墮棿涔呬簡錛屽氨浼氬繕璁般?br />
欏圭洰寮濮嬶細
鍦ㄩ」鐩紑濮嬪垵鏈熸誨欏圭洰鏈変竴澶у爢鐨勬兂娉曪紝瑕佹妸榪欎釜鍋氭垚鍏敤錛岃鎶婇偅涓嫭绔嬪嚭鏉ワ紝銆傘傘傘傛槸鍚︽槸瑕佸仛涓涓氱敤鐨勫鉤鍙板嚭鏉ワ紝浠ュ悗寮鍙戝氨鐪佷簨浜嗐傘傘傘傘傘?br />
欏圭洰榪涜涓細
瀹㈡埛鐨勮姹傚湪鍙樺寲銆傘傘傘?br />鍥㈤槦鍦ㄥ彉鍖栥傘傘傘?br />浠g爜閲忎篃涓婃潵浜嗐傘傘傘?br />榪欐椂欏圭洰鐨勮璁″彉鍖栧湪涓嶆柇鐨勮繘琛岀潃錛岀粡甯稿悓鏍蜂竴浠朵簨鎯呬細鍙嶅鍋氬嬈°傘傘傘?br />瀹㈡埛鐨勫帇鍔涖佸洟闃熶漢鍛樼殑鎯呯華絳変篃浜х敓浜嗭紝榪欐椂欏圭洰鐨勬椂闂翠篃涓嶅浜嗐傘傘傘傘?br />
欏圭洰欏圭洰緇撴潫涓細
瀹㈡埛鍦ㄤ竴澶╁ぉ鐨勮姹傝繘搴︺傘傘傘傘?br />鍥㈤槦浜哄憳宸插紑濮嬪仛涓嬩竴涓」鐩殑鍑嗗錛屽湪鎯充笅涓涓」鐩竴瀹氬仛濂姐傘傘傘傘?br />瀹㈡埛鍥㈤槦閮藉鍦ㄧ棝鑻︿腑銆傘傘傘傘?br />欏圭洰寮濮嬭繘鍏ュぇ閲忕殑鍔犵彮涓傘傘傘傘?br />
欏圭洰緇撴潫浜嗐?br />
鎬葷粨錛?瑕佸湪欏圭洰寮濮嬬殑鏃跺欒涓涓畯澶х殑鐩爣錛屽仛閭e鐨勬娊鍙栧悧錛熷鏋滀笉鍋氭娊鍙栵紝欏圭洰浼氫笉浼氬仛鐨勮川閲忛珮涓鐐癸紝鍔犵彮鍔犵殑灝戜竴鐐廣?br />

銆傘傘傘傘備笉綆$悊鎬庝箞鏍鳳紝絎竴瑕佽В鍐抽棶棰橈紝涓嶇劧鍏跺畠浠涔堥兘絳変簬闆躲?br />

涓笢 2013-09-04 21:25 鍙戣〃璇勮
]]>
ant涓殑鏂囦歡澶嶅埗闂http://www.tkk7.com/peacess/archive/2007/08/11/136034.html涓笢涓笢Sat, 11 Aug 2007 08:02:00 GMThttp://www.tkk7.com/peacess/archive/2007/08/11/136034.htmlhttp://www.tkk7.com/peacess/comments/136034.htmlhttp://www.tkk7.com/peacess/archive/2007/08/11/136034.html#Feedback0http://www.tkk7.com/peacess/comments/commentRss/136034.htmlhttp://www.tkk7.com/peacess/services/trackbacks/136034.html    ant娌℃湁浠諱綍鎻愮ず錛屼篃娌℃湁鎶婃枃浠跺鍒跺埌鎸囧畾鐨勫湴鏂癸紙婧愭枃浠跺凡緇忔敼鍙橈級銆傝繖鏍風粡甯鎬細浣跨敤紼嬪簭緙栬瘧鎴栬繍琛屼駭鐢熷鎬殑閿欒錛屽洜涓哄畠浣跨敤浜嗘棫鐨勬病鏈夋洿鏂扮殑鏂囦歡
瑙e喅鏂規硶
    鍦ㄥ鍒舵枃浠朵箣鍓嶏紝鍏堟妸鏂囦歡鍒犻櫎錛堝鏋滄枃浠朵笉鑳借鍒犻櫎錛宎nt浼氭湁鎻愮ず錛?/span>
    鍦╦ar涔嬪墠涔熻鍋氱浉鍚岀殑浜嬫儏



涓笢 2007-08-11 16:02 鍙戣〃璇勮
]]>
gwt欏圭洰寮鍙戠殑緇忛獙闆?---浼氫竴鐩村鍔?/title><link>http://www.tkk7.com/peacess/archive/2007/08/06/84950.html</link><dc:creator>涓笢</dc:creator><author>涓笢</author><pubDate>Mon, 06 Aug 2007 14:41:00 GMT</pubDate><guid>http://www.tkk7.com/peacess/archive/2007/08/06/84950.html</guid><wfw:comment>http://www.tkk7.com/peacess/comments/84950.html</wfw:comment><comments>http://www.tkk7.com/peacess/archive/2007/08/06/84950.html#Feedback</comments><slash:comments>29</slash:comments><wfw:commentRss>http://www.tkk7.com/peacess/comments/commentRss/84950.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/peacess/services/trackbacks/84950.html</trackback:ping><description><![CDATA[     鎽樿: 13錛岀敤gwt鍦╳eb涓疄鐜頒笂涓嬫枃鑿滃崟錛堝彸閿彍鍗曘佸脊鍑鴻彍鍗曪級 2007騫?鏈?鏃?<br>12錛実wt涓嬌鐢╢loat鏍峰紡瀹炵幇 瀹屾垚 2007騫?鏈?8鏃?<br>11錛?1錛屾枃浠朵笅杞斤紙downloat錛岄氳繃琛ㄥ崟鏂瑰紡錛?瀹屾垚 2007騫?鏈?鏃?<br>10錛岄樆姝簨浠朵紶鍒扮埗瀵硅薄 2007騫?鏈?1鏃?<br>9錛屾枃浠朵笂浼犲鎴風錛堥殣钘忚〃鍗曪級 2007騫?鏈?9鏃?<br>8錛屼笉鎹㈣錛氳〃鏍煎瓧絎︺佸縐峸idget鐨勭粍鍚?璁″垝涓?<br>7錛宑ss鐨勶紙杈規錛塵argin銆乥order銆乸adding銆亀idth銆乭eight涓巇om瀵硅薄鐨勫睘clientWidth銆乷ffsetWidth銆乷ffsetHeight絳夌殑鍏崇郴鍙奼wt鐨勮幏鍙栦笌璁劇疆> 瀹屾垚 2007騫?鏈?鏃?<br>6錛屽涔犺祫婧? 瀹屾垚 2006騫?2鏈?1鏃?<br>5錛岀粰gwt鐨剈i緇勪歡澧炲姞浜嬩歡 瀹屾垚 2006騫?2鏈?7鏃?<br>4錛屾寜閽殑榧犳爣榪涘嚭鏍峰紡 瀹屾垚 2006騫?2鏈?4鏃?<br>3錛屽厓绱犲搴﹁綆? 瀹屾垚 <br>2錛屽璇濇灞呬腑 瀹屾垚 <br><  <a href='http://www.tkk7.com/peacess/archive/2007/08/06/84950.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/peacess/aggbug/84950.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/peacess/" target="_blank">涓笢</a> 2007-08-06 22:41 <a href="http://www.tkk7.com/peacess/archive/2007/08/06/84950.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>gwt鍦╡clipse銆乼omcat涓崟姝ヨ皟璇曞鎴蜂笌鏈嶅姟鐨勫畬鏁村疄渚?--錛堝崌綰т負gwt1.4 榪涜涓級http://www.tkk7.com/peacess/archive/2007/07/26/55795.html涓笢涓笢Thu, 26 Jul 2007 12:44:00 GMThttp://www.tkk7.com/peacess/archive/2007/07/26/55795.htmlhttp://www.tkk7.com/peacess/comments/55795.htmlhttp://www.tkk7.com/peacess/archive/2007/07/26/55795.html#Feedback2http://www.tkk7.com/peacess/comments/commentRss/55795.htmlhttp://www.tkk7.com/peacess/services/trackbacks/55795.html
瀹屾暣鐨勬簮浠g爜錛堜負浜嗘柟渚跨紪璇戝悗鐨勬枃浠朵篃淇濈暀浜嗭級錛?a href="http://www.tkk7.com/Files/peacess/Wylpeace-tomcat.rar">Wylpeace-tomcat

鐜鐨勫緩绔?br>1錛屼笅杞絜clipse3.3 :http://download.eclipse.org/eclipse/downloads/index.php
2錛屼笅杞絫omcat6.0 : http://tomcat.apache.org/download-60.cgi
3錛屼笅杞絋omcat Plugin錛?a >http://www.sysdeo.com/eclipse/tomcatplugin
4錛屽畨瑁咃紙鎬庝箞瀹夎灝辮嚜宸卞幓google鍚э級

姝e紡寮宸?br>寤轟竴涓敤eclipse寮鍙戠殑gwt欏圭洰錛堝鏋滀笉鎯沖緩绔嬶紝鍙互涓嬭澆婧愪唬鐮侊級
    gwt鐨勫懡浠よ鏂瑰紡:http://code.google.com/webtoolkit/gettingstarted.html
   
鍦╡clipse涓厤緗畉omcat鐨勮繍琛岀幆澧?br>   
    棣栧厛鎶婃彃浠墮厤緗ソ
    window--銆媝reference--銆媡omcat錛氶厤緗?#8220;tomcat home”涓?#8220;tomcat vesion” --銆媋dvanced 錛氶厤緗?#8220;tomcat base”錛堜笌“tomcat home”鐩稿悓錛?--銆媕vm setting 錛?閫夋嫨“jre”錛屾敞鎰忎竴瀹氭槸jdk涓嬬殑jre錛屼笉鐒朵笉鑳借皟璇曟湇鍔$浠g爜
   
    鐒跺悗鍛紙閰嶇疆鐨勫唴瀹規瘮杈冨錛屾病鏈夊姙娉曪級
    1錛屽湪欏圭洰涓嬪緩錛屽涓嬬洰褰晈ylpeace.samples.select.WylpeaceSelect/WEB-INF/classes銆亀ylpeace.samples.select.WylpeaceSelect/WEB-INF/lib
    2錛屽湪“WEB-INF”涓嬪姞鍏ユ枃浠?#8220;web.xml”鍐呭濡傛簮浠g爜
    3錛屾妸鏂囦歡gwt-user.jar銆乬wt-dev-windows.jar銆乬wt-ll.dll銆乻wt-win32-3235.dll銆乷jdbc14.jar鏀懼叆lib鐩綍銆?br>    4錛屽鍔犲簱寮曠敤“gwt-user.jar銆乬wt-dev-windows.jar銆乷jdbc14.jar ”
    5錛屼慨鏀筩lass鏂囦歡鐨勮緭鍑鴻礬寰勶紝濡備笅鍥?br>

閰嶇疆gwt鐨刪osted
   
    1錛屽彸閿」鐩?#8220;Wylpeace”--銆媎ebug as--銆媎ebug濡備笅鍥炬墍紺?br>

    娉ㄦ剰鍥句腑鐨勯変腑閮ㄥ垎“-noserver -port 8080”(鐢ㄨ繖縐嶆柟寮忓彲浠ユ敼鍙榞wt鐨勯粯璁ょ鍙?888)錛?br>    榪樻槸鍦ㄨ繖涓浘涓?#8220;classpath”鏍囩榪涜淇敼,鍙傝錛?a href="http://www.tkk7.com/peacess/archive/2007/07/24/49447.html">http://www.tkk7.com/peacess/archive/2007/07/24/49447.html

閰嶇疆tomcat鎻掍歡


鎵鏈夐厤緗兘瀹屾垚浜嗭紝鎴戜滑鍙互寮濮嬪崟姝ヨ皟璇曚簡
棣栧厛閲嶈搗tomcat錛堝湪eclipse涓級錛屽湪璋冭瘯榪愯“wylpeace”
榪欐椂浼氭彁紺烘壘涓嶅埌緗戦〉錛屼慨鏀箄rl涓猴細http://localhost:8080/wylpeace.samples.select.WylpeaceSelect/WylpeaceSelect.html
濂戒簡鏁翠釜榪囩▼緇撴潫錛屽鏋滄湁浠涔堥棶棰樿鑱旂郴
    mail錛歱eacess@163.com
    qq錛?4407724
浣犱篃鍙互鍙傝冿細http://jroller.com/page/masini?entry=deploy_and_debug_google_web
浣犱篃鍙互鍙傝冿細http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/338c4b765d7dfc39/c9382d0e65266248?q=tomcat&rnum=3#c9382d0e65266248


涓笢 2007-07-26 20:44 鍙戣〃璇勮
]]>
gwt 1.4瀛︿範--鏁版嵁搴撹褰曟樉紺哄疄鐜幫紙浜?1錛?鎶婃簮鏉ョ殑鍐呭鍗囩駭涓篻wt1.4)http://www.tkk7.com/peacess/archive/2007/07/24/49447.html涓笢涓笢Tue, 24 Jul 2007 14:42:00 GMThttp://www.tkk7.com/peacess/archive/2007/07/24/49447.htmlhttp://www.tkk7.com/peacess/comments/49447.htmlhttp://www.tkk7.com/peacess/archive/2007/07/24/49447.html#Feedback5http://www.tkk7.com/peacess/comments/commentRss/49447.htmlhttp://www.tkk7.com/peacess/services/trackbacks/49447.html瀹炵幇鐨勫姛鑳?br>   鍦╣wt寮鍙戜腑瀹炵幇錛屼笌鏁版嵁搴擄紙oracle錛夌殑榪炴帴(jdbc)錛屽茍鏄劇ず鏁版嵁璁板綍闆嗭紝璇寸櫧浜嗗氨鏄湪ajax鐨刧wt鏋舵瀯涓嬩笌鏁版嵁搴撲氦浜掋?br>鐩稿叧宸ュ叿
gwt1.4錛宔clipse3.3
棣栧厛璇存槑涓涓嬭鍘熺悊
鍒嗕負涓ら儴鍒嗭細瀹㈡埛绔儴鍒嗕笌鏈嶅姟绔儴鍒?br>濡傛灉瀵筭wt鐨勮繙紼嬭皟鐢ㄤ笉鎬庝箞娓呮錛岃鍙傝錛?a >http://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.RemoteProcedureCalls.html

瀹㈡埛绔儴鍒?/strong>
   鐢變簬瀹㈡埛绔彧鏀寔jdk1.4鐨勫寘util涓巐ang錛堟病鏈塲dbc錛夛紝鎵浠ュ彧鑳借嚜宸卞啓涓涓被瀛樻斁璁板綍闆嗭紝濡備笅
public class PeaceResultSet {
    private String[] cols;
    /**
     * @gwt.typeArgs <java.lang.String[]>
     */
    private List rows;
    public String[] getCols() {
        return cols;
    }
    public void setCols(String[] cols) {
        this.cols = cols;
    }
    public List getRows() {
        return rows;
    }
    public void setRows(List rows) {
        this.rows = rows;
    }
}
    瀵規綾諱綔涓涓畝鍗曠殑璇存槑銆俢ols鏄瓨鏀懼垪鍚嶇殑錛宺ows鏄瓨鏀捐褰曡鐨勶紝璇鋒敞鎰忓湪瀹冨墠闈㈢殑閭d竴涓敞閲婏紙/**
     * @gwt.typeArgs <java.lang.String[]>
     */錛夛紝涓瀹氫笉鑳藉皯鐨勶紝鍥犱負錛屾渶緇堣繖涓猨ava浠g爜浼氳杞崲鎴恓avascript錛岃繖閲屽憡璇夎漿鎹㈢殑綾誨瀷鐨?br>鏈変簡璁板綍闆嗭紝鎴戜滑灝卞彲浠ョ敤FlexTable鏉ユ妸鎴戜滑鐨勮褰曢泦鏄劇ず鍑烘潵浜?濡備笅
public class PeaceTable extends Composite{

    private FlexTable table = new FlexTable();
    public FlexTable getTable() {
        return table;
    }
    public PeaceTable() {
        this.initWidget(table);
    }
    public void showResultSet(PeaceResultSet re)
    {
        this.table.clear();
        if(re != null && re.getRows()!= null && re.getRows().size()>0)
        {
            String[] cols = re.getCols();
            List rows = re.getRows();

            for(int j = cols.length-1; j >= 0; j--)
            {
                table.setText(0,j,cols[j]);
            }

            for(int i = 0; i < rows.size(); i++)
            {
                cols = (String[])rows.get(i);
                for(int j = cols.length-1; j >= 0; j--)
                {
                    table.setText(i+1,j,cols[j]);
                }
            }
        }
        else
        {
            table.setText(0,0,"no data");
        }
    }
    public void callServer(String sql) {
        PeaceSelectResultSetAsync.Util.getInstance().select(sql, new AsyncCallback() {
            public void onFailure(Throwable caught) {
            }
            public void onSuccess(Object result) {
                showResultSet((PeaceResultSet) result);
            }
          });
    }
鏈嶅姟绔儴鍒?/strong>
榪欎竴閮ㄥ垎鏄畬鍏ㄧ殑java錛屽彲浠ョ敤java鍙互浣跨敤鐨勫叏閮ㄥ簱錛堝綋鐒惰嚜宸卞啓鐨勪篃鍙互錛?br>鎴戣繖閲岀敤鐨勬槸jdbc鏉ヨ繛鎺ユ暟鎹簱錛堝彧鏄渶綆鍗曠殑錛屽洜涓鴻繖閲屼笉鏄鏄庢暟鎹庝箞鎿嶄綔鐨勶級錛屼唬鐮佸涓?br>public class PeaceSelectResultSetImpl extends RemoteServiceServlet implements
        PeaceSelectResultSet {

    private static final long serialVersionUID = 1L;

    public PeaceResultSet select(String sql) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet se = null;
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
            String url = "jdbc:oracle:thin:@192.168.1.11:1521:XXXX"; // orcl為錕斤拷菘錕斤拷SID
            String user = "uuser";
            String password = "pwd";
            conn = DriverManager.getConnection(url, user, password);
            stmt = conn.createStatement();
            se = stmt.executeQuery(sql);
            ResultSetMetaData rsmd = se.getMetaData();

            String[] cols = new String[rsmd.getColumnCount()];
            List rows = new ArrayList();
            for (int i = cols.length; i > 0; i--) {
                cols[i - 1] = rsmd.getColumnName(i);
            }
            while (se.next()) {
                String[] row = new String[cols.length];
                rows.add(row);
                for (int i = cols.length - 1; i >= 0; i--) {
                    row[i] = se.getString(cols[i]);
                }
            }
            PeaceResultSet kfse = new PeaceResultSet();
            kfse.setCols(cols);
            kfse.setRows(rows);
            return kfse;
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (se != null)
                try {
                    se.close();
                } catch (SQLException e1) {
                    e1.printStackTrace();
                }
            if (stmt != null)
                try {
                    stmt.close();
                } catch (SQLException e1) {
                    e1.printStackTrace();
                }
            if (conn != null)
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
        }
        return null;
    }
}
鍦ㄤ笅涓閮ㄥ垎涓紝鎴戝皢璇存槑涓浜涙敞鎰忎簨欏癸紝浠ュ強緇欏嚭瀹屾暣鐨勬簮浠g爜錛侊紒


涓笢 2007-07-24 22:42 鍙戣〃璇勮
]]>
gwt 1.4 瀛︿範--鏁版嵁搴撹褰曟樉紺哄疄鐜幫紙浜?2錛?鎶婃簮鏉ョ殑鍐呭鍗囩駭涓篻wt1.4)http://www.tkk7.com/peacess/archive/2007/07/24/49600.html涓笢涓笢Tue, 24 Jul 2007 14:42:00 GMThttp://www.tkk7.com/peacess/archive/2007/07/24/49600.htmlhttp://www.tkk7.com/peacess/comments/49600.htmlhttp://www.tkk7.com/peacess/archive/2007/07/24/49600.html#Feedback1http://www.tkk7.com/peacess/comments/commentRss/49600.htmlhttp://www.tkk7.com/peacess/services/trackbacks/49600.html娉ㄦ剰浜嬮」錛?br>    鍦ㄥ鎴風閮ㄥ垎錛屽彧鑳戒嬌鐢╦dk鐨勪竴閮ㄥ垎
    鎶婃湇鍔$鐨勭▼搴忓啓瀹屽悗錛岃寰楀湪鏂囦歡“WylpeaceSelect.gwt.xml”涓繘琛岄厤緗紝濡備笅浠g爜
       <module>
          銆傘傘傘傘傘傘?br>          <servlet path='/peaceselect' class='wylpeace.samples.select.service.PeaceSelectResultSetImpl'/>
          銆傘傘傘傘傘傘傘?br>       </module>
    鍦╡clipse涓皟璇曟椂錛屼細鎻愮ず鎵句笉鏁版嵁搴撶浉鐨勭被錛岃璁頒綇鍋氬涓嬫搷浣?br>       銆傘傘?#8220;debug”----銆嬮変腑“WylpeaceSelect”----銆嬮変腑“classpath”錛屽崟鍑誨彸涓嬬殑“restore default entries”錛屽啀鍗曞嚮“addvaced”澧炲姞婧愪唬鐮佺洰褰?br>濡傚浘錛?img src="file:///C:/DOCUME%7E1/wpeace/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="">


瀹屾暣涓唬鐮侊紙eclipse錛夛細WylpeaceSelect
娉ㄦ剰錛?br>     涓嬭澆浠g爜鍚庝慨鏀筗ylpeaceSelect.launch涓殑gwt鍖呯殑璺緞
      娉ㄦ剰鍔犲叆浣犵殑鏁版嵁搴撳寘錛坥racle鐨刯dbc錛?br>

涓笢 2007-07-24 22:42 鍙戣〃璇勮
]]>
hibernate 澶氬澶氬叧緋誨湪mysql銆乷racle涓殑涓嶅悓http://www.tkk7.com/peacess/archive/2007/06/11/123485.html涓笢涓笢Mon, 11 Jun 2007 15:19:00 GMThttp://www.tkk7.com/peacess/archive/2007/06/11/123485.htmlhttp://www.tkk7.com/peacess/comments/123485.htmlhttp://www.tkk7.com/peacess/archive/2007/06/11/123485.html#Feedback1http://www.tkk7.com/peacess/comments/commentRss/123485.htmlhttp://www.tkk7.com/peacess/services/trackbacks/123485.html涓嬮潰鏄〃鐨勪唬鐮侊紙閰嶇疆涓篴nnotation錛?br>User錛?br>

package sub;
import java.io.Serializable;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
@Entity
public class User implements Serializable
{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private Long id;
    private Set<Role> roles;
    @Id
    @GeneratedValue
    public Long getId()
    {
        return id;
    }
    public void setId(Long id)
    {
        this.id = id;
    }
    @ManyToMany
    @JoinTable(name="UserRole",joinColumns={@JoinColumn(name="user_ID")},inverseJoinColumns={@JoinColumn(name="role_ID")})
    public Set<Role> getRoles()
    {
        return roles;
    }
    public void setRoles(Set<Role> roles)
    {
        this.roles = roles;
    }
}

Role錛?br>

package sub;
import java.io.Serializable;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
@Entity
public class Role implements Serializable
{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private Long id;
    private Set<User> users;
    @Id
    @GeneratedValue
    public Long getId()
    {
        return id;
    }
    public void setId(Long id)
    {
        this.id = id;
    }
    @ManyToMany
    @JoinTable(name="UserRole",joinColumns={@JoinColumn(name="role_ID")},inverseJoinColumns={@JoinColumn(name="user_ID")})
    public Set<User> getUsers()
    {
        return users;
    }
    public void setUsers(Set<User> users)
    {
        this.users = users;
    }
}

UserRoleId錛?br>

package sub;
import java.io.Serializable;
import javax.persistence.Embeddable;
@Embeddable
public class UserRoleId implements Serializable
{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private Long userId;
    private Long roleId;
    public UserRoleId(Long userId, Long roleId)
    {
        this.userId = userId;
        this.roleId = roleId;
    }
    public UserRoleId()
    {
        this(null,null);
    }
    @Override
    public boolean equals(Object obj)
    {
        if(obj == this)return true;
        if(obj instanceof UserRoleId)
        {
            final UserRoleId other = (UserRoleId) obj;
            Long userT = getUserId();
            Long userOther = other.getUserId();
            Long roleT = getRoleId();
            Long roleOther = other.getRoleId();

            return ((userT == userOther) || (userT != null &&
                    userOther != null && userT.equals(userOther))) &&
                    ((roleT == roleOther) || (roleT != null &&
                            roleOther != null && roleT.equals(
                                    roleOther)));
        }
        return false;
    }
    @Override
    public int hashCode()
    {
        int re = 17;
        re += (userId == null?0:userId.hashCode());
        re += (roleId == null?0:roleId.hashCode());
        return 37*re;
    }
    public Long getUserId()
    {
        return userId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }
    public Long getRoleId()
    {
        return roleId;
    }
    public void setRoleId(Long roleId)
    {
        this.roleId = roleId;
    }
}

UserRole錛?br>

package sub;
import java.io.Serializable;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
@Entity
public class UserRole implements Serializable
{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private UserRoleId id;
    private Role role;
    private User user;
    @EmbeddedId
    @AttributeOverrides( {
            @AttributeOverride(name = "userId", column = @Column(name = "user_ID", unique = false, nullable = false, insertable = true, updatable = true)),
            @AttributeOverride(name = "roleId", column = @Column(name = "role_ID", unique = false, nullable = false, insertable = true, updatable = true)) })
    public UserRoleId getId()
    {
        return id;
    }
    @ManyToOne(cascade = {})
    @JoinColumn(name = "role_ID", unique = false, nullable = false, insertable = false, updatable = false)
    public Role getRole()
    {
        return role;
    }
    @ManyToOne(cascade = {}, fetch = FetchType.EAGER)
    @JoinColumn(name = "user_ID", unique = false, nullable = false, insertable = false, updatable = false)
    public User getUser()
    {
        return user;
    }
    public void setId(UserRoleId id)
    {
        this.id = id;
    }
    public void setRole(Role role)
    {
        this.role = role;
    }
    public void setUser(User user)
    {
        this.user = user;
    }
}

    鍦╩ysql鏁版嵁搴撲腑錛屼繚瀛楿serRole鏃跺嚭閿欍傝屽畬鍏ㄧ浉鍚岀殑浠g爜鍦╫racle鏁版嵁涓紜?br>鎿嶄綔濡備笅錛?br>
        User user;
        Role role;
        //緇忚繃澶氭鎿嶄綔浠ュ悗錛寀ser涓巖ole閮戒繚瀛樺埌鏁版嵁搴擄紝涓庝箣鐩稿叧鑱旂殑session宸插叧闂?br>        Session s = null;//鍙栧緱s鐨勪唬鐮佹病鏈夊啓鍑烘潵
        s.beginTransaction();
        UserRole userRole = new UserRole();
        userRole.setId(new UserRoleId(user.getId(),role.getId()));
        userRole.setUser(user);
        userRole.setRole(role);
        s.persist(userRole);
        s.getTransaction().commit();
//涓鎻愪氦灝卞嚭閿欙紝鎻愮ずuser娌℃湁淇濆瓨錛屼絾鏄鎬殑鏄負浠涔堝湪oracle涓畬鍏ㄦ紜?br>//鏈鍚庡湪mysql涓綔濡備笅鐨勪慨鏀瑰彲浠ユ紜繚瀛?br>//鎶?nbsp;userRole.setUser(user)涓巙serRole.setRole(role)鍒犻櫎
鏈夐偅浣嶇煡閬撴槸浠涔堥棶棰橈紝璇峰憡涔?


涓笢 2007-06-11 23:19 鍙戣〃璇勮
]]>
澶卞幓浜嗕粈涔?---鎻愰珮欏圭洰榪涘害http://www.tkk7.com/peacess/archive/2006/11/20/82387.html涓笢涓笢Mon, 20 Nov 2006 14:03:00 GMThttp://www.tkk7.com/peacess/archive/2006/11/20/82387.htmlhttp://www.tkk7.com/peacess/comments/82387.htmlhttp://www.tkk7.com/peacess/archive/2006/11/20/82387.html#Feedback1http://www.tkk7.com/peacess/comments/commentRss/82387.htmlhttp://www.tkk7.com/peacess/services/trackbacks/82387.html褰撻」鐩繘搴﹁涓鍐嶅姞蹇椂錛屽埌鏈鍚庨」鐩繕鏄仛鍑烘潵浜嗭紝鍒板簳浠庝腑澶卞幓浜嗕粈涔堬紵錛?br />
鍋氬紑鍙戠殑澶卞幓浜嗕粈涔堬紵鍋氱鐞嗙殑澶卞幓浜嗕粈涔堬紵鍋氬鎴風殑澶卞幓浜嗕粈涔堬紵浜у搧鍛紝瀹冨張澶卞幓浠涔堬紵

鍙兘閮藉け鍘諱簡錛佸洜涓哄悗緇х殑宸ヤ綔閲忔瘮寮鍙戠殑榪樿澶х殑澶氾紝濡傛灉欏圭洰緇忕悊涓嶄笅澶у姏姘斿姞鐝殑璇濓紝鏁翠釜欏圭洰鍙兘

閮芥病鏈夊姙娉曠淮鎶ゃ?br />
鍙兘閮芥病鏈夊け鍘伙紝鍥犱負娌℃湁瀹屽叏鐩稿悓鐨勪袱涓」鐩潵榪涜姣旇緝錛岃皝涔熸病鏈夊姙娉曢噺鍖栵紝鍒板簳澶卞幓浜嗕粈涔堬紵



鍒板簳澶卞幓浜嗕粈涔堬紵鍒板簳澶卞幓浜嗕粈涔堬紵錛?br />

涓笢 2006-11-20 22:03 鍙戣〃璇勮
]]>
娓呯┖鏁版嵁搴撴暟鎹紙琛級鐨勪竴涓В鍐蟲柟妗?/title><link>http://www.tkk7.com/peacess/archive/2006/11/09/80208.html</link><dc:creator>涓笢</dc:creator><author>涓笢</author><pubDate>Thu, 09 Nov 2006 09:18:00 GMT</pubDate><guid>http://www.tkk7.com/peacess/archive/2006/11/09/80208.html</guid><wfw:comment>http://www.tkk7.com/peacess/comments/80208.html</wfw:comment><comments>http://www.tkk7.com/peacess/archive/2006/11/09/80208.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.tkk7.com/peacess/comments/commentRss/80208.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/peacess/services/trackbacks/80208.html</trackback:ping><description><![CDATA[ <br />聽聽聽聽 鍦ㄥ仛鏁版嵁搴撳紑鍙戜腑錛岀粡甯擱兘瑕佹竻絀猴紙delete錛夋暟鎹垨鍒犻櫎錛坉rop錛夋墍鏈夌殑琛ㄣ傜劧鑰岋紝澶栭敭鐨勫瓨鍦紝緇欒繖涓伐浣滃甫鏉ヤ簡寰堝ぇ鐨勪笉渚褲傝繖閲岀敤jdbc鍐欎竴涓氱敤鐨勭被錛屼駭鐢熷嚭娓呯┖鎴栧垹闄よ〃鐨勯『搴忋?br />浠ヤ笅浠g爜鍦╩ysql涓巓racle涓嬮潰榪愯姝e父<br /><br />(鍦ㄥ悓琛岀殑寤鴻涓嬩綔浜嗕竴浜涙敼榪涳紝鍙堝鍔犱簡涓浜涘姛鑳斤紝瑙佺被娉ㄩ噴)<br />浠g爜錛?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">package createData.tryDemo;<br /><br />import java.sql.Connection;<br />import java.sql.DatabaseMetaData;<br />import java.sql.ResultSet;<br />import java.sql.SQLException;<br />import java.sql.Statement;<br />import java.util.ArrayList;<br />import java.util.Iterator;<br />import java.util.List;<br /><br />/**<br />聽* 澶栭敭宸ュ叿<br />聽* 1錛岃繑鍥炴竻絀猴紙鍒犻櫎錛夋暟鎹簱琛ㄧ殑鍏堝悗欏哄簭<br />聽* 2錛屾壘鍑烘暟鎹簱涓殑澶栭敭鐜?br />聽* 3錛屾壘鍑烘暟鎹簱涓殑瀵瑰悓涓涓〃鐨勯噸澶嶅閿叧鑱?br />聽* <br />聽* 娉細澶栭敭鐜紙涓嶇煡閬撳湪鏁版嵁搴撲腑錛屽姝ゆ儏鍐墊湁娌℃湁鍒殑鍛藉悕錛?br />聽*聽 鎯呭喌1錛屽閿〃鏄嚜宸?錛堣嚜澶栭敭鐜佸皬澶栭敭鐜佸崟澶栭敭鐜級<br />聽*聽 鎯呭喌2錛宎Table鐨勫閿〃鏄痓Table錛岃宐Table鐨勫閿〃鍙堟槸aTable錛堝弻澶栭敭鐜級<br />聽*聽 鎯呭喌3錛屽氨鏄涓〃涔嬮棿褰㈡垚鐨勫閿幆錛堝澶栭敭鐜級<br />聽* @author wpeace<br />聽*<br />聽*/<br />public class ExportedKeysTools<br />{<br />聽聽聽 public static void main(String[] args)<br />聽聽聽 {<br />聽聽聽聽聽聽聽 //寰楀埌涓涓暟鎹簱鐨勮繛鎺ワ紝榪欓噷灝變笉緇嗚浜?br />聽聽聽聽聽聽聽 Connection connection = null;<br />聽聽聽聽聽聽聽 <br />聽聽聽聽聽聽聽 List<String> tables = ExportedKeysTools.getDeleteOrder(connection);<br />聽聽聽聽聽聽聽 <br />聽聽聽聽聽聽聽 System.out.print(tables);<br />聽聽聽聽聽聽聽 //娓呯┖鏁版嵁,浠racle涓轟緥<br />聽聽聽聽聽聽聽 StringBuilder scrip = new StringBuilder();<br />聽聽聽聽聽聽聽 for(String it : tables)<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 scrip.append(String.format("delete from %s;\r\n", it));<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 System.out.print(scrip);<br />聽聽聽聽聽聽聽 //鍒犻櫎鎵鏈夎〃,浠racle涓轟緥<br />聽聽聽聽聽聽聽 <br />聽聽聽聽聽聽聽 for(String it : tables)<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 scrip.append(String.format("drop table %s;\r\n", it));<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 System.out.print(scrip);<br />聽聽聽聽聽聽聽 <br />聽聽聽聽聽聽聽 //鎻愮ず鍏抽棴榪炴帴錛侊紒錛?br /><br />聽聽聽 }<br />聽聽聽 public static List<String> getDeleteOrder(Connection connection)<br />聽聽聽 {<br />聽聽聽聽聽聽聽 String userName = null;<br />聽聽聽聽聽聽聽 try<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 userName = connection.getMetaData().getUserName();<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 catch (SQLException e)<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 e.printStackTrace();<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 return ExportedKeysTools.getDeleteOrder(connection, userName);<br />聽聽聽 }<br />聽聽聽 /**<br />聽聽聽聽 * 榪斿洖娓呯┖錛堝垹闄わ級鏁版嵁搴撹〃鐨勫厛鍚庨『搴?br />聽聽聽聽 * @param connection jdbc榪炴帴<br />聽聽聽聽 * @param userName 濡傛灉涓簄ull鐨勮瘽錛屽湪oracle鏁版嵁搴撲笅闈㈡槸鎵鏈夌殑鐢ㄦ埛鐨勬墍鏈夎〃銆?br />聽聽聽聽 * 鍦╩ysql涓嬫槸褰撳墠鐢ㄧ敤鎴風殑錛岃繖涓笌鏁版嵁搴撳巶鍟嗙殑jdbc椹卞姩鏈夊叧緋?br />聽聽聽聽 * @return 榪斿洖娓呯┖錛堝垹闄わ級鏁版嵁搴撹〃鐨勫厛鍚庨『搴?br />聽聽聽聽 */<br />聽聽聽 public static List<String> getDeleteOrder(Connection connection,String userName)<br />聽聽聽 {<br />聽聽聽聽聽聽聽 ResultSet reTables = null;<br />聽聽聽聽聽聽聽 ResultSet refk = null;<br />聽聽聽聽聽聽聽 try<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 DatabaseMetaData dm = connection.getMetaData();<br />聽聽聽聽聽聽聽聽聽聽聽 //濡傛灉鏄痮racle鏁版嵁搴撶殑璇濓紝娓呯┖闂洖琛?br />聽聽聽聽聽聽聽聽聽聽聽 if(dm.getDatabaseProductName().toUpperCase().indexOf("ORACLE")>=0)<br />聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Statement state = connection.createStatement();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 state.execute("PURGE RECYCLEBIN");<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 state.close();<br />聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽 //鍙栧緱琛?br />聽聽聽聽聽聽聽聽聽聽聽 reTables = dm.getTables(null, userName, null, new String[]{"TABLE","VIEW"});<br />聽聽聽聽聽聽聽聽聽聽聽 List<TableMeta> tableMetaList = new ArrayList<TableMeta>();<br />聽聽聽聽聽聽聽聽聽聽聽 while(reTables.next())<br />聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String tableName = reTables.getString("TABLE_NAME").trim(); <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(tableName == null || tableName.length()<1)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 continue;<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TableMeta tem = new TableMeta(tableName);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 tableMetaList.add(tem);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鍙栧緱澶栭敭琛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 refk = dm.getExportedKeys(null, userName, tableName);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 while(refk.next())<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String fkTableName = refk.getString("FKTABLE_NAME").trim();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(fkTableName == null || fkTableName.length() < 1 ||<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 fkTableName.equals(tableName)) //鍘繪帀涓誨閿槸鑷繁鐨勫皬鐜?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 continue;<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 tem.addFK(fkTableName);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(refk != null)refk.close();<br />聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽 <br />聽聽聽聽聽聽聽聽聽聽聽 Iterator<TableMeta> iterator = tableMetaList.iterator();<br />聽聽聽聽聽聽聽聽聽聽聽 TableMeta tableMeta = iterator.next();<br />聽聽聽聽聽聽聽聽聽聽聽 List<String> deleteOrder = new ArrayList<String>();<br />聽聽聽聽聽聽聽聽聽聽聽 int counts = tableMetaList.size();<br />聽聽聽聽聽聽聽聽聽聽聽 for(;true;)<br />聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //娌℃湁澶栭敭浜?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(!tableMeta.isFKTable())<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 iterator.remove();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 deleteOrder.add(tableMeta.tableName);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //娓呴櫎琛ㄦ墍浣跨敤鐨勬墍鏈夊閿〃<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 for(TableMeta it : tableMetaList)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 it.deleteFK(tableMeta.tableName);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br /><br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(!iterator.hasNext())<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //涓嬈″驚鐜畬鎴愬悗錛屽鏋渢ableMeta鐨勯暱搴︼紙涔熶笉涓洪浂錛夋病鏈夊噺灝戯紝<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //閭d箞璇存槑鍦╰ableMeta涓殑琛ㄤ箣闂存湁寰幆澶栭敭鍏寵仈鐨勨滅幆鈥濓紝瑕侀鍑烘暣涓驚鐜?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //涓嶇劧姝ゅ灝變細鏈変竴涓寰幆錛屾鏃跺湪tableMeta涓殑琛ㄧ殑璁捐涔熻鏄湁闂鐨?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //濡傛灉瑕佸垎鏋?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(tableMetaList.size() == counts || tableMetaList.size() < 1)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 break;<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 iterator = tableMetaList.iterator();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 tableMeta = iterator.next();<br />聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽 return deleteOrder;<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 catch (SQLException e)<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 if(refk != null)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 try<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 refk.close();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 catch (SQLException e1)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 e1.printStackTrace();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽 if(reTables != null)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 try<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 reTables.close();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 catch (SQLException e1)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 e1.printStackTrace();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽 e.printStackTrace();<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 return null;<br />聽聽聽 }<br />聽聽聽 /**<br />聽聽聽聽 * 榪斿洖澶栭敭鐜?br />聽聽聽聽 * @param connection 榪炴帴<br />聽聽聽聽 * @param userName 鐢ㄦ埛鍚嶏紝鍙互涓虹┖<br />聽聽聽聽 * @return 榪斿洖澶栭敭鐜?br />聽聽聽聽 */<br />聽聽聽 public static List<String> getExportedKeysLoop(Connection connection,String userName)<br />聽聽聽 {<br />聽聽聽聽聽聽聽 ResultSet reTables = null;<br />聽聽聽聽聽聽聽 ResultSet refk = null;<br />聽聽聽聽聽聽聽 try<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 DatabaseMetaData dm = connection.getMetaData();<br />聽聽聽聽聽聽聽聽聽聽聽 //濡傛灉鏄痮racle鏁版嵁搴撶殑璇濓紝娓呯┖闂洖琛?br />聽聽聽聽聽聽聽聽聽聽聽 if(dm.getDatabaseProductName().toUpperCase().indexOf("ORACLE")>=0)<br />聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Statement state = connection.createStatement();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 state.execute("PURGE RECYCLEBIN");<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 state.close();<br />聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽 //鍙栧緱琛?br />聽聽聽聽聽聽聽聽聽聽聽 reTables = dm.getTables(null, userName, null, new String[]{"TABLE","VIEW"});<br />聽聽聽聽聽聽聽聽聽聽聽 List<TableMeta> tableMetaList = new ArrayList<TableMeta>();<br />聽聽聽聽聽聽聽聽聽聽聽 while(reTables.next())<br />聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String tableName = reTables.getString("TABLE_NAME").trim(); <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(tableName == null || tableName.length()<1)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 continue;<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TableMeta tem = new TableMeta(tableName);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 tableMetaList.add(tem);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鍙栧緱澶栭敭琛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 refk = dm.getExportedKeys(null, userName, tableName);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 while(refk.next())<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String fkTableName = refk.getString("FKTABLE_NAME").trim();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(fkTableName == null || fkTableName.length() < 1 ||<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 fkTableName.equals(tableName)) //鍘繪帀涓誨閿槸鑷繁鐨勫皬鐜?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 continue;<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 tem.addFK(fkTableName);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(refk != null)refk.close();<br />聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽 <br />聽聽聽聽聽聽聽聽聽聽聽 Iterator<TableMeta> iterator = tableMetaList.iterator();<br />聽聽聽聽聽聽聽聽聽聽聽 TableMeta tableMeta = iterator.next();<br />聽聽聽聽聽聽聽聽聽聽聽 List<String> exportedKeysLoop = new ArrayList<String>();<br />聽聽聽聽聽聽聽聽聽聽聽 int counts = tableMetaList.size();<br />聽聽聽聽聽聽聽聽聽聽聽 for(;true;)<br />聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //娌℃湁澶栭敭浜?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(!tableMeta.isFKTable())<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 iterator.remove();聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //娓呴櫎琛ㄦ墍浣跨敤鐨勬墍鏈夊閿〃<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 for(TableMeta it : tableMetaList)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 it.deleteFK(tableMeta.tableName);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br /><br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(!iterator.hasNext())<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //涓嬈″驚鐜畬鎴愬悗錛屽鏋渢ableMeta鐨勯暱搴︼紙涔熶笉涓洪浂錛夋病鏈夊噺灝戯紝<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //閭d箞璇存槑鍦╰ableMeta涓殑琛ㄤ箣闂存湁寰幆澶栭敭鍏寵仈鐨勨滅幆鈥濓紝瑕侀鍑烘暣涓驚鐜?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //涓嶇劧姝ゅ灝變細鏈変竴涓寰幆錛屾鏃跺湪tableMeta涓殑琛ㄧ殑璁捐涔熻鏄湁闂鐨?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //濡傛灉瑕佸垎鏋?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(tableMetaList.size() == counts || tableMetaList.size() < 1)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 for(TableMeta it : tableMetaList)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 exportedKeysLoop.add(it.tableName);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 break;<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 iterator = tableMetaList.iterator();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 tableMeta = iterator.next();<br />聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽 return exportedKeysLoop;<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 catch (SQLException e)<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 if(refk != null)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 try<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 refk.close();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 catch (SQLException e1)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 e1.printStackTrace();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽 if(reTables != null)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 try<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 reTables.close();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 catch (SQLException e1)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 e1.printStackTrace();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽 e.printStackTrace();<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 return null;<br />聽聽聽 }<br />聽聽聽 /**<br />聽聽聽聽 * 鏈夐噸澶嶅閿殑琛?br />聽聽聽聽 * @param connection 榪炴帴<br />聽聽聽聽 * @param userName 鐢ㄦ埛鍚嶏紝鍙互涓虹┖<br />聽聽聽聽 * @return 鏈夐噸澶嶅閿殑琛?br />聽聽聽聽 */<br />聽聽聽 public static List<String> getRepeatExportedKeys(Connection connection,String userName)<br />聽聽聽 {<br />聽聽聽聽聽聽聽 ResultSet reTables = null;<br />聽聽聽聽聽聽聽 ResultSet refk = null;<br />聽聽聽聽聽聽聽 try<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 DatabaseMetaData dm = connection.getMetaData();<br />聽聽聽聽聽聽聽聽聽聽聽 //濡傛灉鏄痮racle鏁版嵁搴撶殑璇濓紝娓呯┖闂洖琛?br />聽聽聽聽聽聽聽聽聽聽聽 if(dm.getDatabaseProductName().toUpperCase().indexOf("ORACLE")>=0)<br />聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Statement state = connection.createStatement();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 state.execute("PURGE RECYCLEBIN");<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 state.close();<br />聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽 <br />聽聽聽聽聽聽聽聽聽聽聽 List<String> repeatExportedKeys = new ArrayList<String>();<br />聽聽聽聽聽聽聽聽聽聽聽 //鍙栧緱琛?br />聽聽聽聽聽聽聽聽聽聽聽 reTables = dm.getTables(null, userName, null, new String[]{"TABLE","VIEW"});<br />聽聽聽聽聽聽聽聽聽聽聽 while(reTables.next())<br />聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String tableName = reTables.getString("TABLE_NAME").trim(); <br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(tableName == null || tableName.length()<1)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 continue;<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TableMeta tem = new TableMeta(tableName);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鍙栧緱澶栭敭琛?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 refk = dm.getExportedKeys(null, userName, tableName);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 while(refk.next())<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String fkTableName = refk.getString("FKTABLE_NAME").trim();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(fkTableName == null || fkTableName.length() < 1)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 continue;<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(tem.findFK(fkTableName))<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 repeatExportedKeys.add(tem.tableName);<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 break;<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(refk != null)refk.close();<br />聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽 return repeatExportedKeys;<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 catch (SQLException e)<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 if(refk != null)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 try<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 refk.close();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 catch (SQLException e1)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 e1.printStackTrace();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽 if(reTables != null)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 try<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 reTables.close();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 catch (SQLException e1)<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 e1.printStackTrace();<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽聽聽聽聽 e.printStackTrace();<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 return null;<br />聽聽聽 }<br />聽聽聽 public static class TableMeta{<br />聽聽聽聽聽聽聽 //琛ㄥ悕<br />聽聽聽聽聽聽聽 public String tableName;<br />聽聽聽聽聽聽聽 //澶栭敭琛?br />聽聽聽聽聽聽聽 private List<String> fkTable = new ArrayList<String>(1);<br />聽聽聽聽聽聽聽 public TableMeta(String table)<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 this.tableName = table;<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 public boolean findFK(String table)<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 return fkTable.contains(table);<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 public void deleteFK(String table)<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 fkTable.remove(table);<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 //鏄惁瀛樺湪澶栭敭琛?br />聽聽聽聽聽聽聽 public boolean isFKTable()<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 return fkTable.size() > 0;<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 public void addFK(String table)<br />聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽 //閲嶅悕澶勭悊<br />聽聽聽聽聽聽聽聽聽聽聽 if(!findFK(table))<br />聽聽聽聽聽聽聽聽聽聽聽 {<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 fkTable.add(table);<br />聽聽聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 }<br />聽聽聽 }<br /><br />}<br /><br /></span><span style="color: rgb(0, 0, 0);"><br /></span></div><br /><br /><br /><br /><img src ="http://www.tkk7.com/peacess/aggbug/80208.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/peacess/" target="_blank">涓笢</a> 2006-11-09 17:18 <a href="http://www.tkk7.com/peacess/archive/2006/11/09/80208.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>涓涓熀浜巊wt鐨勫紑婧愰」鐩?-- Dunehttp://www.tkk7.com/peacess/archive/2006/08/04/61790.html涓笢涓笢Fri, 04 Aug 2006 08:54:00 GMThttp://www.tkk7.com/peacess/archive/2006/08/04/61790.htmlhttp://www.tkk7.com/peacess/comments/61790.htmlhttp://www.tkk7.com/peacess/archive/2006/08/04/61790.html#Feedback2http://www.tkk7.com/peacess/comments/commentRss/61790.htmlhttp://www.tkk7.com/peacess/services/trackbacks/61790.html璇存槑錛氬熀浜巊wt鐨勯」鐩鐞嗙殑寮婧愰」鐩?br />
1錛屽疄鐜頒簡鍍廽sp涓鏍風殑session綆$悊錛岃繖涓鐐規槸鐩稿綋濂界殑涓涓弬鑰冨疄鐜?br />2錛屾湁涓涓〃鏍肩殑瀹炵幇
3錛屽gwt鑷韓鐨勪緥瀛愬弬鑰冩瘮杈冨錛屾瘮濡傗渟ink鈥濈瓑
4錛屻傘傘傘傘傘?br />



涓笢 2006-08-04 16:54 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 91嫩草亚洲精品| 午夜时刻免费入口| 一级a性色生活片久久无少妇一级婬片免费放| 亚洲av无码精品网站| 亚洲人成网站18禁止一区| 午夜小视频免费观看| 2019中文字幕在线电影免费 | 国产一级片免费看| 日本一区二区在线免费观看| 亚洲色丰满少妇高潮18p| 亚洲精品国产成人专区| 亚洲午夜无码久久久久| 亚洲国产成人精品女人久久久 | 九月婷婷亚洲综合在线| 日韩电影免费在线| 毛片网站免费在线观看| 国产91色综合久久免费| 13一14周岁毛片免费| 无码A级毛片免费视频内谢| 国产免费久久精品99久久| 亚洲免费视频一区二区三区| 羞羞视频免费观看| 小说专区亚洲春色校园| 亚洲国产成人久久精品软件| 亚洲小说图区综合在线| 在线综合亚洲欧洲综合网站| 亚洲一区二区三区在线| 国产婷婷综合丁香亚洲欧洲| 亚洲人成影院77777| 亚洲制服丝袜第一页| 亚洲人成影院午夜网站| 亚洲va乱码一区二区三区| 亚洲国产最大av| 亚洲精品第一国产综合亚AV| 亚洲欧美国产精品专区久久| 一区二区亚洲精品精华液| 亚洲精品成a人在线观看☆| 国产亚洲一卡2卡3卡4卡新区| 精品亚洲视频在线| 一级做a爱片特黄在线观看免费看 一级做a爱过程免费视 | 亚洲国产无线乱码在线观看|