JAva Class.fornameとSelectMethod=Cursor

2150 ワード

今日、データベースをロードしている間にこの2つに遭遇しました.
ナレッジポイント:反射.
まずデータベースドライバをロードするときにClass.fornameを使用しました.
使用方法:
Class.forname(「クラス名」)は、パッケージのパスを追加する必要があることに注意してください.
機能:
まずjavaがプログラムコンパイルを実行するには仮想マシンをロードする必要があります.Class.fornameは仮想マシンに指定したクラスをロードさせます.一般的にクラスには静的ブロックがあります.そうすると、ロード時に静的ブロックが実行され、初期化操作が実現されます.
例:
データベースドライバをロードすると、データベース内の静的コードが実行され、データベースのリンクが実現されます.
 public class MyJDBCDriver implements Driver {
   static {
     DriverManager.registerDriver(new MyJDBCDriver());
  }
  }

具体的には自分で反射を見ることができます.
ちなみに静的ブロックの小さな知識
実行時間:クラスが最初にロードされたとき
クラスの静的変数、メソッド、またはAのインスタンス化時にクラスがロードされるのが一般的です.
詳細な手順は次のとおりです.
親クラスのstaticメンバー変数-』サブクラスのstaticメンバー変数-』親クラスのメンバー変数-「親クラス構築-」サブクラスメンバー変数-」サブクラス構造
そしてclassの小さな知識
Class.forName(“XXXX”)…..;とXXXX.class....はどんな区别がありますか?
Class.forName(“XXXX”);の役割は、指定したクラスを検索してロードすることです.クラスに静的初期化がある場合、JVMは必ずクラスの静的コードセグメントを実行します.この場合、クラスがJVMにロードされているかどうかは不明です.XXXX.classは、すでにロードされているクラスをJVMにロードします.
SelectMethod=Cursorについて
直接copyの...
今日、データベース接続文字列にselectMethod=cursorが表示されました.この使用法は、サーバ側のカーソルを使用して速度を速める場合:1.複数のStatementsの操作を実行する場合2.手動でトランザクションを使用する必要がある場合に使用します.
protected static String dburl = "jdbc:sqlserver://localhost:1433;" 
    + "DatabaseName=db_database299;SelectMethod=Cursor";

参考資料:
http://www.cnblogs.com/shosky/archive/2011/07/22/2114290.htm
http://bbs.csdn.net/topics/390597457
http://zhidao.baidu.com/link?url=KxEkFmV1RJCnF-5_-2eftXwxs7gZApXnFaQeCLNpl7ccK8LlE2Ud8gSG_yVQhKE2UF_WcDC1BJ3epltRtlY6Xq
http://zhidao.baidu.com/link?url=XOT8I_C5HRO0-lA3fFJoMK4STNgt-brj8JGrHACGiuvauWh1LGoagUv8tu9-Usl1LLZHzJn8YWoA6lpbuT-rK_
http://looxiaohu.iteye.com/blog/235840