JDBCドライバのロード
なんで今更こんなこと書いたかというと。。。
//JDBCドライバのロード Class.forName("org.postgresql.Driver");
これがなんでロードなのかわからんと聞かれた。たしかにちゃんと説明されてないことが多いやね。ならコード見てみよう。一目瞭然。Classオブジェクトがロードされるからこれが動く単純なしくみ。
static{ try{ java.sql.DriverManager.registerDriver(new Driver()); }catch (SQLException e){ e.printStackTrace(); } }
なんでClass.forNameをつかうかといえば、使う側のコードがドライバの実装になるだけ依存しないように。
そしたらClassとかInstanceとかそこらの理解が壊滅してるのがわかった。
何がきっかけになるかわからないもので。色々気づいてよかったという話。