<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Aaronlong31

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      12 Posts :: 3 Stories :: 17 Comments :: 0 Trackbacks

    2010年1月27日 #

    常見錯誤號對照表

    MySQL error code SQLSTATE code Error message

    1011 HY000 Error on delete of '%s' (errn %d)
    1021 HY000 Disk full (%s); waiting for someone to free some space . . .
    1022 23000 Can't write; duplicate key in table '%s'
    1027 HY000 '%s' is locked against change
    1036 HY000 Table '%s' is read only
    1048 23000 Column '%s' cannot be null
    1062 23000 Duplicate entry '%s' for key %d
    1099 HY000 Table '%s' was locked with a READ lock and can't be updated
    1100 HY000 Table '%s' was not locked with LOCK TABLES
    1104 42000 The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay
    1106 42000 Incorrect parameters to procedure '%s'
    1114 HY000 The table '%s' is full
    1150 HY000 Delayed insert thread couldn't get requested lock for table %s
    1165 HY000 INSERT DELAYED can't be used with table '%s' because it is locked with LOCK TABLES
    1242 21000 Subquery returns more than 1 row
    1263 22004 Column set to default value; NULL supplied to NOT NULL column '%s' at row %ld
    1264 22003 Out of range value adjusted for column '%s' at row %ld
    1265 1000 Data truncated for column '%s' at row %ld
    1312 0A000 SELECT in a stored program must have INTO
    1317 70100 Query execution was interrupted
    1319 42000 Undefined CONDITION: %s
    1325 24000 Cursor is already open
    1326 24000 Cursor is not open
    1328 HY000 Incorrect number of FETCH variables
    1329 2000 No data to FETCH
    1336 42000 USE is not allowed in a stored program
    1337 42000 Variable or condition declaration after cursor or handler declaration
    1338 42000 Cursor declaration after handler declaration
    1339 20000 Case not found for CASE statement
    1348 HY000 Column '%s' is not updatable
    1357 HY000 Can't drop a %s from within another stored routine
    1358 HY000 GOTO is not allowed in a stored program handler
    1362 HY000 Updating of %s row is not allowed in %s trigger
    1363 HY000 There is no %s row in %s trigger
    posted @ 2010-08-11 11:13 Aaronlong31 閱讀(848) | 評論 (0)編輯 收藏

    之前一個監視應用的好工具JavaMelody,功能十分齊全,這次介紹個 
    稍微小點的,專門為TOMCAT 而設計的。下面講解其用法: 

    1 下載: 
    http://www.lambdaprobe.org/downloads/1.7/probe.1.7b.zip 
    2 解壓縮后,把probe.war放到TOMCAT的webapps下,設置server.xml 
    的context 
    3 設置用戶如下,在tomcat_user.xml中 
       vi /usr/local/tomcat/conf//tomcat-users.xml 

    <?xml version='1.0' encoding='utf-8'?> 
    <tomcat-users> 
            <role rolename="manager"/> 
            <role rolename="standard"/> 
            <role rolename="tomcat"/> 
            <role rolename="admin"/> 
            <role rolename="role1"/> 
            <user username="tomcat" password="tomcat" roles="tomcat"/> 
            <user username="both" password="tomcat" roles="tomcat,role1"/> 
            <user username="probe" password="probe" roles="admin,manager"/> 
            <user username="role1" password="tomcat" roles="role1"/> 
    </tomcat-users> 

    4 設置環境變量,獲取服務器狀態 
    # vi /etc/profile 
    JAVA_OPTS=-Dcom.sun.management.jmxremote 
    export JAVA_OPTS 

    5 重啟動服務器 
    6 輸入http://localhost/probe/,輸入用戶名和密碼 
    7 即可進入,這里比較精彩的是對內存的監視,動態顯示了JVM的內存圖表
    posted @ 2010-08-09 12:51 Aaronlong31 閱讀(392) | 評論 (0)編輯 收藏

    設置每天8:50開機,要是9:15電腦還沒人使用.就自動關機.
    計算機啟動時按“Delete”鍵進入BIOS界面。
    在BIOS設置主界面中選擇“Power Management Setup”菜單,
    Resume By Alarm 值設成Enabled
    再在”Date (of Month) Alarm”和“Time (hh:mm:ss) Alarm”中設定開機的日期和時間。
    如果把“Date”設為0,則默認為每天定時開機。
    設置好后按“F10“保存設置就可以了,機器會重新啟動,設置成功。
    自動登錄
    單擊“開始/運行”,輸入“rundll32 netplwiz.dll,UsersRunDll”
    按回車鍵后彈出“用戶帳戶”窗口
    然后取消選定“要使用本機,用戶必須輸入用戶名和密碼”選項,單擊確定
    在彈出的對話框中輸入你想讓電腦每次自動登錄的賬戶和密碼即可。
    自動關機
    1.控制面板>管理工具>服務
    雙擊名稱列為 Task Scheduler 的記錄,把啟動類型設為自動,再點啟動按鈕,再保存.
    再從運行中輸入
    at 9:15 /every:M,T,W,Th,F,S,Su shutdown -s -f -t 300 -c "快要停電了,取消關機命令shutdown -a"
    第天9:15 執行關機,有300秒的等待時間。
    posted @ 2010-08-09 12:45 Aaronlong31 閱讀(413) | 評論 (0)編輯 收藏

    1.修改linux的時間可以使用date指令

    在命令行輸入:

    date
     顯示當前時間 Fri Aug  3 14:15:16 CST 2007

    date -s 
    按字符串方式修改時間
    可以只修改日期,不修改時間,輸入: date -s 2007-08-03
    只修改時間,輸入:date -s 14:15:00
    同時修改日期時間,注意要加雙引號,日期與時間之間有一空格,輸入:date -s "2007-08-03 14:15:00"

    修改完后,記得輸入:clock -w 
    把系統時間寫入CMOS

    2.Linux下啟動/關閉/重啟Mysql
    /etc/init.d/mysql   start|stop|restart|reload|force-reload
    posted @ 2010-08-06 10:02 Aaronlong31 閱讀(239) | 評論 (0)編輯 收藏

    使用PowerDesigner設計數據庫時,要寫很多comment讓人看,生成SQL文件時也包含了這些comment,但是用這SQL文件生成數據庫時,經常會因為comment太長而失敗,在文件中一點一點的刪除comment未免太麻煩。這里有個方法可以讓PowerDesigner生成SQL文件時不包含comment。(我使用的是mysql,估計其他的也差不多。)


    選擇Edit current DBMS,依次點開script -> objects -> table -> create ,在value中將最后的[comment = "%TLABL%"]刪除,這個是去掉創建表的comment。
    script -> objects -> column -> create,在value中將最后的[ comment %.q:@OBJTLABL%]去掉,這個是去掉column的comment的。
    這樣生成SQL文件時就不會產生comment了。

    另外還有一點,如果數據庫設計中有index,生成SQL文件時會把drop index 放到文件的最前面,當第一次生成數據庫時,由于沒有index所以會報錯,因此要把最前面的drop index刪掉,但手動刪除還是麻煩,可以這樣:
    CTRL + G,打開Database Generation,選擇options選項卡,選擇index,把右邊的Drop index前的√去掉就行了
    posted @ 2010-07-18 10:57 Aaronlong31 閱讀(4648) | 評論 (0)編輯 收藏

     

    要用powerdesigner做數據庫表設計, 最后發現導出sql腳本就出現了問題, 首先是字段都帶上了雙引號, 而且還總是報錯字段名過長。
    另外還發現column屬性,Code才是最終產生的Table Name ,而Name就有點像是描述了。
    在 Database里選擇你的數據庫然后在 DBMS里面選擇(注意看清楚PDM的引用模式是哪個數據庫)
    Script->Sql->Format->EnableOwnerPrefix value=Yes;

    Script->Sql->Format->CaseSensitivityUsingQuote=No;

    這時再導出 表的名稱就正常了

    PowerDesigner9 移植到 PowerDesigner12 的問題:

    默認長度的問題,我在PowerDesigner9導出沒問題的數據庫腳本拿到PowerDesigner12導出出現如下問題:

    Column constraint name maximum length is limited to 15 characters

    在使用PD12時出現諸如以下錯誤:

    Reference constraint name maximum length is limited to 7 characters
    Key constraint name maximum length is limited to 7 characters
    Table code maximum length
    Column code maximum length
    ……

    導致生成建表SQL時通不過,細究原因原來是默認設置的問題,改下就可以了:)

    調整以下參數:
    Database=>Edit current DBMS   數據庫類型::Script\Objects\MaxConstLen value=>255
    Database=>Edit current DBMS   數據庫類型::Script\Objects\Table\Maxlen value=>255
    Database=>Edit current DBMS   數據庫類型::Script\Objects\Column\Maxlen value=>255



    再說說如何在 PowerDesigner12里創建帶導出分區的腳本

    默認情況下分區設置是隱藏的 所以要選種該表 然后再點左下腳的More>>

    選擇Physical Options 這個選項 這里可以添加表空間和索引空間 我習慣直接設置分區SQL語句 這樣避免了很多垃圾語句生成

    選擇 SQL 然后創建分區

      partition by list
    ( data_part  )
    ( partition Pd00
        values ( '0'  ) )

    就OK了 去Partitions選項里可以看到這一列分區效果

    設置索引默認空間:

    選擇KEY選項或者Index選項 直接雙擊該索引 然后設置Physical Options

    直接輸入SQL創建默認索引指向表空間   using index  tablespace index_emcspace

    PowerDesigner功能強大 完全可以維護大部分的數據庫建模

    現在在Oracle數據庫維護有些問題 創建數據庫的Package 或者 Types 、Directories、Jobs等 沒辦法維護進去。

    ------------------------------------------------------------------------------------------------------
    因為我下載的pd11是試用版,功能受限, index導出總是報錯, 換用了pd12的破解版, 沒有問題了。
    而且改object最大長度設置,只要設定一個全局的,方便一些:
    PGSQL73::Script\Objects\MaxConstLen
    value=>255
    PGSQL73::Script\Objects\Table\Maxlen
    value=>255

    另外發現pd12也沒有表長度長一點就報錯的問題, 不用像前面那樣改長度了。
    posted @ 2010-07-04 14:56 Aaronlong31 閱讀(1489) | 評論 (0)編輯 收藏

    錯誤信息:出現java.lang.NoSuchMethodException setUser([LJava.lang.String;)異常

    struts2中的UserAction:
     1 public class UserAction{
     2 private User user;
     3 private String name;
     4 public void setName(String name){
     5 this.name = name;
     6 }
     7 public String getName(){
     8 return name;
     9 }
    10 public User getUser() {
    11       return user;
    12 }
    13 
    14 
    15 public void setUser(User user) {
    16       this.user = user;
    17 }
    18 
    19 public String execute(){
    20      System.println(user.getUsername);
    21 }
    22 
    23 }
    24 
    User就兩個屬性:username/password.
    這個是開始的struts.xml中的代碼:
    <package name="json" extends="json-default">  
         
    <action name="save" class="com.aaron.example.action.UserAction">  
        
    <result type="json"></result>  
         
    </action>  
    </package>  
    這個是jQuery代碼:
    $(function(){   
         
    var json = {"user":{"username":"zhangsan","password":"123"}};//方法1   
         //json = {"name":"zhanglong"};// 方法2    
         //json = {"user.username":"zhangsan","user.password":123};//方法3   
    }
    ); 
     用方法1會出項上述錯誤,方法2和方法3都可行。

    原因:
    方法2成功的原因是{"name":"zhanglong"}傳遞的是一個名值對,就像是request的parameter.
    方法3成功也是一樣的,struts2的OGNL會識別user.username,并把它對應的值"zhangsan"存放到user的username屬性上
    方法1失敗是因為傳的名值對是:"user":"{'username':'zhangsan','password','123'}",這樣struts就會你要將"{'username':'zhangsan','password','123'}"這個字符串賦值給user對象,它就會調用setUser(String user)方法(或者是setUser(String[] user)),由于UserAction中沒有這個方法,所以會報錯。

    解決方法:
    根據jsonplugin官方的文檔,頁面傳入的請求的content-type要是application/json,否則json的interceptor不會幫你將json轉換為java對象,這里他忘了說明一點,jsonplugin中只是定義了json的interceptor,并沒有將其放入到package的攔截器棧中,還需要我們自己放入自己的package中。如下:
    1 <interceptors>
    2     <interceptor-stack name="myDefaultStack">
    3         <interceptor-ref name="json"/>
    4         <interceptor-ref name="defaultStack"/>
    5     </interceptor-stack>
    6 </interceptors>
    7     
    8 <default-interceptor-ref name="myDefaultStack"/>
    還要設置jquery的ajax請求的content-type和傳遞類型為"POST":
    1 $.ajax({
    2     type:"POST",
    3     data:jsonText,
    4     url:"save.action?number=" + Math.random(),
    5     contentType:"application/json"
    6 });
    其中jsonText如下:
    1 var jsonText = "{'user':{
    2         'username':'zhangsan',
    3         'password':'123'
    4     }
    5 }"
    注意,整個jsonText是個字符串,其中的名值對的名要用''包起來,否則會報異常,指出json格式不對。
    只有這樣做了后,json攔截器才會幫你做轉換。

    還有,如果UserAction中有個userService的話,需要設置action的result的param:
    1 <result type="json">
    2     <param name="excludeProperties">
    3              userService
    4     </param>
    5 </result>
    這樣就不會將userService進行序列化了,或者可以將action中的getUserService()方法去掉。

    如果user對象是從hibernate獲取的,可能得到的是一個代理對象,對其進行json序列化時會出錯。解決辦法是為User對象加上@Proxy(lazy=false)注解。
    posted @ 2010-06-29 15:10 Aaronlong31 閱讀(12631) | 評論 (17)編輯 收藏

    Ant


    ?
     當一個代碼項目大了以后,每次重新編譯,打包,測試等都會變得非常復雜而且重復,因此c語言中有make腳本來幫助這些工作的批量完成。在Java 中應用是平臺無關性的,當然不會用平臺相關的make腳本來完成這些批處理任務了,ANT本身就是這樣一個流程腳本引擎,用于自動化調用程序完成項目的編譯,打包,測試等。除了基于JAVA是平臺無關的外,腳本的格式是基于XML的,比make腳本來說還要好維護一些。
      每個ant腳本(缺省叫build.xml)中設置了一系列任務(target):比如對于一個一般的項目可能需要有以下任務。
      * 任務1:usage 打印本腳本的幫助信息(缺省)
      * 任務2:clean <-- init 清空初始化環境
      * 任務3:javadoc <-- build <-- init 生成JAVADOC
      * 任務4:jar <-- build <-- init 生成JAR
      * 任務5:all <-- jar + javadoc <-- build <-- init 完成以上所有任務:jar javadoc
      而多個任務之間往往又包含了一定了依賴關系:比如把整個應用打包任務(jar)的這個依賴于編譯任務(build),而編譯任務又依賴于整個環境初始化任務(init)等。
      注:我看到很多項目的ant腳本中的命名基本上都是一致的,比如:編譯一般叫build或者compile;打包一般叫jar或war;生成文檔一般命名為 javadoc或javadocs;執行全部任務all。在每個任務的中,ANT會根據配置調用一些外部應用并配以相應參數執行。雖然ANT可調用的外部應用種類非常豐富,但其實最常用的就2,3個:比如javac javadoc jar等。
    ?
    ?
    Ant 開發
      Ant的構建文件
      當開始一個新的項目時,首先應該編寫Ant構建文件。構建文件定義了構建過程,并被團隊開發中每個人使用。Ant構建文件默認命名為build.xml,也可以取其他的名字。只不過在運行的時候把這個命名當作參數傳給Ant。構建文件可以放在任何的位置。一般做法是放在項目頂層目錄中,這樣可以保持項目的簡潔和清晰。下面是一個典型的項目層次結構。
      (1) src存放文件。
      (2) class存放編譯后的文件。
      (3) lib存放第三方JAR包。
      (4) dist存放打包,發布以后的代碼。
      Ant構建文件是XML文件。每個構建文件定義一個唯一的項目(Project元素)。每個項目下可以定義很多目標(target元素),這些目標之間可以有依賴關系。當執行這類目標時,需要執行他們所依賴的目標。
      每個目標中可以定義多個任務,目標中還定義了所要執行的任務序列。Ant在構建目標時必須調用所定義的任務。任務定義了Ant實際執行的命令。Ant中的任務可以為3類。
      (1) 核心任務。核心任務是Ant自帶的任務。
      (2) 可選任務。可選任務實來自第三方的任務,因此需要一個附加的JAR文件。
      (3) 用戶自定義的任務。用戶自定義的任務實用戶自己開發的任務。
      1.<project>標簽
      每個構建文件對應一個項目。<project>標簽時構建文件的根標簽。它可以有多個內在屬性,就如代碼中所示,其各個屬性的含義分別如下。
      (1) default表示默認的運行目標,這個屬性是必須的。
      (2) basedir表示項目的基準目錄。
      (3) name表示項目名。
      (4) description表示項目的描述。
      每個構建文件都對應于一個項目,但是大型項目經常包含大量的子項目,每一個子項目都可以有自己的構建文件。
      2.<target>標簽
      一個項目標簽下可以有一個或多個target標簽。一個target標簽可以依賴其他的target標簽。
      例如,有一個target用于編譯程序,另一個target用于聲稱可執行文件。在生成可執行文件之前必須先編譯該文件,因策可執行文件的target依賴于編譯程序的target。Target的所有屬性如下。
      (1).name表示標明,這個屬性是必須的。
      (2).depends表示依賴的目標。
      (3)if表示僅當屬性設置時才執行。
      (4)unless表示當屬性沒有設置時才執行。
      (5)description表示項目的描述。
      Ant的depends屬性指定了target的執行順序。Ant會依照depends屬性中target出現順序依次執行每個target。在執行之前,首先需要執行它所依賴的target。程序中的名為run的target的depends屬性compile,而名為compile的target的depends屬性是prepare,所以這幾個target執行的順序是prepare->compile->run。
      一個target只能被執行一次,即使有多個target依賴于它。如果沒有if或unless屬性,target總會被執行。
      3.<mkdir>標簽
      該標簽用于創建一個目錄,它有一個屬性dir用來指定所創建的目錄名,其代碼如下:
      <mkdir dir=”${class.root}”/>
      通過以上代碼就創建了一個目錄,這個目錄已經被前面的property標簽所指定。
      4<jar>標簽
      該標簽用來生成一個JAR文件,其屬性如下。
      (1) destfile表示JAR文件名。
      (2) basedir表示被歸檔的文件名。
      (3) includes表示別歸檔的文件模式。
      (4) exchudes表示被排除的文件模式。
      5.<javac標簽>
      該標簽用于編譯一個或一組java文件,其屬性如下。
      (1).srcdir表示源程序的目錄。
      (2).destdir表示class文件的輸出目錄。
      (3).include表示被編譯的文件的模式。
      (4).excludes表示被排除的文件的模式。
      (5).classpath表示所使用的類路徑。
      (6).debug表示包含的調試信息。
      (7).optimize表示是否使用優化。
      (8).verbose 表示提供詳細的輸出信息。
      (9).fileonerror表示當碰到錯誤就自動停止。
      6.<java>標簽
      該標簽用來執行編譯生成的.class文件,其屬性如下。
      (1).classname 表示將執行的類名。
      (2).jar表示包含該類的JAR文件名。
      (3).classpath所表示用到的類路徑。
      (4).fork表示在一個新的虛擬機中運行該類。
      (5).failonerror表示當出現錯誤時自動停止。
      (6).output 表示輸出文件。
      (7).append表示追加或者覆蓋默認文件。
      7.<delete>標簽
      該標簽用于刪除一個文件或一組文件,其屬性如下。
      (1)/file表示要刪除的文件。
      (2).dir表示要刪除的目錄。
      (3).includeEmptyDirs 表示指定是否要刪除空目錄,默認值是刪除。
      (4).failonerror 表示指定當碰到錯誤是否停止,默認值是自動停止。
      (5).verbose表示指定是否列出所刪除的文件,默認值為不列出。
      8.<copy>標簽
      該標簽用于文件或文件集的拷貝,其屬性如下。
      (1).file 表示源文件。
      (2).tofile 表示目標文件。
      (3).todir 表示目標目錄。
      (4).overwrite 表示指定是否覆蓋目標文件,默認值是不覆蓋。
      (5).includeEmptyDirs 表示制定是否拷貝空目錄,默認值為拷貝。
      (6).failonerror 表示指定如目標沒有發現是否自動停止,默認值是停止。
      (7).verbose 表示制定是否顯示詳細信息,默認值不顯示。
    ?
    ?
     Ant 的安裝
      解包后在系統可執行路徑中加入指向ant的bin的路徑就可以了,比如可以在GNU/Linux上把以下配置加入/etc/profile中:
      export ANT_HOME=/home/ant
      export JAVA_HOME=/usr/java/j2sdk1.4.1
      export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
      Windows 下的安裝:
      下載后解壓到某個目錄我這里以D:\apache-ant-1.7.1為例子:
      添加path全局環境變量:D:\apache-ant-1.7.1\bin
      這樣在command line就可以運行ant命令了
      測試:運行->cmd/command->ant 如果沒有安裝成功則回報找不到這個命令,安裝成功會有相關的提示信息顯示。
      這樣執行ant 后,如果不指定配置文件ant會缺省找build.xml這個配置文件,并根據配置文件執行任務,缺省的任務設置可以指向最常用的任務,比如: build,或指向打印幫助信息:usage,告訴用戶有那些腳本選項可以使用。
      Ant 的運行
      安裝好Ant并且配置好路徑之后,在命令行中切換到構建文件的目錄,輸入Ant命令就可以運行Ant.若沒有指定任何參數,Ant會在當前目錄下查詢build.xml文件。如果找到了就用該文件作為構建文件。如果使用了 –find 選項,Ant 就會在上級目錄中找構建文件,直至到達文件系統的根目錄。如果構建文件的名字不是build.xml ,則Ant運行的時候就可以使用 –buildfile file,這里file 指定了要使用的構建文件的名稱,示例如下:
      Ant如下說明了表示當前目錄的構建文件為build.xml 運行 ant 執行默認的目標。
      Ant –buildfile test.xml
      使用當前目錄下的test.xml 文件運行Ant ,執行默認的目標
    posted @ 2010-02-04 09:55 Aaronlong31 閱讀(364) | 評論 (0)編輯 收藏

    ?1 -- 以下命令均在cmd中運行
    ?2
    ?3 mysqldump? - uroot? - p123456? - d?webmeeting? > C:\\test.sql?
    ?4 -- 將數據庫webmeeting中的表結構導出到C:\\test.sql中
    ?5
    ?6 mysqldump? - uroot? - p123456?webmeeting? > 123 .sql
    ?7 ? -- 將數據庫中所有數據導出到123.sql中
    ?8
    ?9 mysql? - uroot? - p123456?webmeeting? < c:\\ 123 .sql
    10 ? -- 將123.sql中的數據導入到數據庫webmeeting中
    posted @ 2010-01-27 14:41 Aaronlong31 閱讀(392) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 午夜影视在线免费观看| 免费在线观看一级片| 免费看韩国黄a片在线观看| 亚洲欧洲自拍拍偷午夜色| 久久免费公开视频| 亚洲综合国产精品| 在线看片v免费观看视频777| 亚洲视频免费一区| 国产高清免费视频| 亚洲字幕AV一区二区三区四区| 毛片免费观看的视频| 亚洲妇女无套内射精| 亚洲AV无码一区二三区| 一进一出60分钟免费视频| 亚洲精品无码久久久久| 久久99热精品免费观看动漫| 91天堂素人精品系列全集亚洲| 免费视频爱爱太爽了| 亚洲国产欧美日韩精品一区二区三区| 午夜无遮挡羞羞漫画免费| 黄色三级三级免费看| 亚洲无线观看国产精品| 精品熟女少妇av免费久久| 亚洲精品中文字幕麻豆| 免费观看的a级毛片的网站| 免费无码专区毛片高潮喷水| 国产精品亚洲精品日韩已满| 免费观看无遮挡www的视频| 亚洲狠狠婷婷综合久久蜜芽| 亚洲国产一区明星换脸| 久久久久国产免费| 亚洲偷偷自拍高清| 国产精品亚洲w码日韩中文| 午夜理伦剧场免费| 亚洲av乱码一区二区三区按摩| 久久精品亚洲男人的天堂| 亚洲视频免费一区| 一区二区在线免费视频| 亚洲欧洲国产经精品香蕉网| 国产hs免费高清在线观看| 午夜精品一区二区三区免费视频|