S2JDBCでのページング処理
- 2011.05.31
- IT関連
- Seasar2 S2JDBC
Seasar2フレームワークのデータアクセス部分のフレームワークとして、
S2JDBCがあります。
S2JDBCにはページング処理を容易に実現可能なLIMIT、OFFSETに対応しており、
SQLを発行する際に、
selectBySqlFile(
XXXXDto.class,
“XXX.sql”,
param)
.limit(10)
.offset(0)
.getResultList();
と指定するだけで、対象データの取得が可能です。
しかし、この方法で生成されるSQLは、
SQLの最後に、「limit 0,10」が付与される形式となっており
PostgreSQLでは対応していないSQLの形式となっています。
結局、XXX.sqlファイル内のSQLにoffsetを記述して、
limitは上記のように設定することで、とりあえず実現はできました。
フレームワークは様々なRDBMSやアプリケーションサーバーといった環境に対応する必要が
あるので、改めて共通部品を作成する難しさを感じました。
-
前の記事
NFAカンファレンスファイナル 2011.05.30
-
次の記事
PreparedStatementでワイルドカードを含む文字列を検索する方法 2011.05.31