Contents
Tips
時刻出力
SimpleDateFormatはCalendar型を引数にとれないので注意。
System.out.println(new java.text.SimpleDateFormat("yyyy/MM/dd(E) HH:mm:ss").format(new Date()));
DB
ライブラリ
JDBC
バッチなど、大量の操作が必要な際に有用
MyBatis (旧iBatis)
http://blog.mybatis.org/
O/R Mapperの一種。
SQLを切り出してXMLファイルへの記述できたり、where条件等の動的指定に伴うSQLの動的組み立てにも対応している。
変数は変数名で書くことができる。
トランザクションの制御をプログラム中に記述できる。
Springフレームワークと組み合わせることでトランザクション制御も自動化できるが、プログラム中で制御したい場合は不要。
テーブルとクラスは1対1対応してなくてよいのでジョインも特別な対応は不要。
S2Dao
O/R Mapperの一種。
メソッド名を特定の命名規則に従うことで、SQLの自動生成が可能。
.sqlファイルにSQL文をそのまま書くことで手動定義も可能。
変数はコメント内に自由な変数名で書け、そのファイルを直接DBに実行することができる。
これを「2way SQL」と呼ぶ。
Seaser2フレームワークと組み合わせて使用する必要がある。
トランザクションの開始、終了をアスペクト的に挿入可能。
ジョインSQLの自動生成も可能で、1クラスのフィールドにマッピングされる。
JPA (Java Persistence API)
公式のO/R Mapper。
厳密にはJPAとは仕様のことで、JPA準拠の製品であれば、入れ替えることができる。
非常に透過的なDB操作が可能で、SQLを書くことなく、テーブルクラス中にアノテーションで変数と列のマッピングを行え、
更新はテーブルクラスの変数を書き換えてコミットメソッドを呼ぶと変更があったものの更新のみ自動で行える。
SQLを手動定義することも可能。
自動で実行される動作が多すぎて、簡単に扱いやすいが厳密な操作がしにくい。
なお、Java EEの機能の1つであるが、Java SEでも使用することができる。
DOMA
http://doma.seasar.org/
S2Daoを元にしたもの
jOOQ
パフォーマンス
コネクションプーリング
PreparedStatementキャッシュ
https://stackoverflow.com/questions/4947484/how-to-set-eclipse-console-locale-language