手軽にで便利なS2Dao
仕事でHibernateより手軽なORマッパーを探していたら、
SeasarのS2Daoがあった、Seasarは日本で流行ってるだけで世界的に見て
マイナーだと思って軽視してたが、凄い!手軽さだけならHibernateより
S2Daoのほうが上ですよ!
ってことで早速、サンプルをサクサクと作ってみました。
参考にしたのはThinkITの「O/Rマッパーの利用」とSeasarのサイトです。
いじってみた
とりあえず、ThinkITの記事を元に動かします。
そのあと、手を加えたのがDAOに価格で検索できるメソッドを追加してみました。
VideoDao.java
package hoge; import java.util.List; public interface VideoDao { public Class BEAN = Video.class; public int update(Video video); public int insert(Video video); public int delete(Video video); public List findAll(); public static final String findPrice_ARGS = "from,to"; public List findPrice(Integer from, Integer to); }
VideoDao_findPrice.sql
VideoDao.classと同じところに置く
SELECT * FROM video WHERE price BETWEEN /*from*/1000 AND /*to*/5000
Main.java
package hoge; import java.util.List; import org.seasar.framework.container.S2Container; import org.seasar.framework.container.factory.S2ContainerFactory; public class Main { public static void main(String[] args) { S2Container container = S2ContainerFactory.create("dao.dicon"); VideoDao dao = (VideoDao) container.getComponent(VideoDao.class); List videos = dao.findPrice(new Integer(2000),new Integer(5000)); for (int i = 0; i < videos.size(); i++) { System.out.println(videos.get(i)); } } }