MyBatis

ローカルキャッシュ

MyBatisで、同一トランザクション内で同じシーケンスから値を2回取得する ようなコードを書くと、同じ値が返されてしまう。サンプルはこんな感じ。 XML <select id="nextId" resultType="Long"> select nextval( #{name} ) as value </select> Java SqlSession session = ・・・; SequenceValue sequenceValu…

動的SQLを試す

ユーザー情報的なテーブルがあって、ログインIDかユーザー名か(またはその両方)で 検索するような機能をMyBatisとPostgreSQLで試す。 で、まずはベタにこんな感じ。 画面からくるパラメータの前後に%を付加してlike〜という変数に設定しておく。 <if>を使って、l</if>…

プログラムでトランザクション制御

基本的にはアノテーションでトランザクション制御するけど、 独自にコミットしたいなーって時もあるわけで、そんなテスト。 @Service public class HogeServiceImpl implements HogeService { @Autowired private PlatformTransactionManager transactionMan…

Spring3.0とMyBatisの設定メモ

SpringとMyBatisを連携して使う場合、MyBatisが用意している連携用ライブラリを使うらしい。 というわけでメモ。正しいのかどうかは知らないけど、ちゃんとできてるようには見える。 設定ファイル データソースとMyBatisとトランザクションの定義。 トランザ…