[ rubbish-db ]

ソース

QueryRunner qr = new QueryRunner(new DefaultFilter() {

    public void setParam(int i, Object param, PreparedStatement stmt) throws SQLException {
        if (param instanceof String && ((String) param).indexOf('○') >= 0)
            stmt.setString(i, ((String) param).replace('○', '×'));
        else
            super.setParam(i, param, stmt);
    }

    public ResultSet wrapResultSet(ResultSet rs) {
        return new DefaultResultSetWrapper(rs) {
            public Object getObject(int columnIndex) throws SQLException {
                Object obj = super.getObject(columnIndex);
                return (obj instanceof String) ? ((String) obj).replaceAll("世界", "セカイ") : obj;
            }
        };
    }

});

RubbishDatabase dbh = new RubbishDatabase(qr);
dbh.setLogging(true);

dbh.connect("jdbc:hsqldb:hsql://localhost", "sa", "");

int rows = dbh.update("UPDATE PUBLISHER SET NAME=?, VOLUMES=?, UPDATE_DATE=?", "○○○○○", new Integer(9990), new Date());
println("rows=" + rows);

Map[] publishers = dbh.query("SELECT * FROM PUBLISHER ORDER BY ID");

for (int i = 0; i < publishers.length; i++)
    println(publishers[i]);

Map[] books = dbh.query("SELECT TITLE, AUTHOR FROM BOOK WHERE PUBLISHER IN (?, ?) ORDER BY PUBLISHER, ID", "04", "06");

for (int i = 0; i < books.length; i++)
    println(books[i]);

dbh.rollback();
dbh.disconnect();

結果

connect database 'url=jdbc:hsqldb:hsql://localhost, user=sa, password='.
'UPDATE PUBLISHER SET NAME=?, VOLUMES=?, UPDATE_DATE=? [○○○○○, 9990, 2005-11-19 14:16:58.609]'
rows=7
'SELECT * FROM PUBLISHER ORDER BY ID'
{ID=00, NAME=×××××, VOLUMES=9990, UPDATE_DATE=2005-11-19 14:16:58.609, CREATE_DATE=1999-07-10 17:10:00.000}
{ID=01, NAME=×××××, VOLUMES=9990, UPDATE_DATE=2005-11-19 14:16:58.609, CREATE_DATE=1999-07-10 17:10:00.000}
{ID=02, NAME=×××××, VOLUMES=9990, UPDATE_DATE=2005-11-19 14:16:58.609, CREATE_DATE=1999-07-10 17:10:00.000}
{ID=03, NAME=×××××, VOLUMES=9990, UPDATE_DATE=2005-11-19 14:16:58.609, CREATE_DATE=1999-07-10 17:10:00.000}
{ID=04, NAME=×××××, VOLUMES=9990, UPDATE_DATE=2005-11-19 14:16:58.609, CREATE_DATE=1999-07-10 17:10:00.000}
{ID=05, NAME=×××××, VOLUMES=9990, UPDATE_DATE=2005-11-19 14:16:58.609, CREATE_DATE=1999-07-10 17:10:00.000}
{ID=06, NAME=×××××, VOLUMES=9990, UPDATE_DATE=2005-11-19 14:16:58.609, CREATE_DATE=1999-07-10 17:10:00.000}
'SELECT TITLE, AUTHOR FROM BOOK WHERE PUBLISHER IN (?, ?) ORDER BY PUBLISHER, ID [04, 06]'
{TITLE=あなたにも出来る!中国拳法修行百科, AUTHOR=null}
{TITLE=エーゲ海-古代格闘史の浪漫-, AUTHOR=null}
{TITLE=ギリシャ神話に見る現代人への教訓, AUTHOR=null}
{TITLE=シルクロードの彼方, AUTHOR=null}
{TITLE=暗黒組織類聚, AUTHOR=null}
{TITLE=英国貴族の習慣・風俗, AUTHOR=null}
{TITLE=眼球大脳生理学, AUTHOR=null}
{TITLE=セカイ幻覚大全, AUTHOR=null}
{TITLE=セカイ残虐刑罰史, AUTHOR=null}
{TITLE=セカイ頭髪大全, AUTHOR=null}
{TITLE=中国拳法-火の考察-, AUTHOR=null}
{TITLE=動物棲息類聚, AUTHOR=null}
{TITLE=EYEこそ全て, AUTHOR=null}
{TITLE=SKATER'SWALTZ, AUTHOR=null}
{TITLE=アラスカ大紀行, AUTHOR=null}
{TITLE=インド人も吃驚!ヨガに奇跡, AUTHOR=null}
{TITLE=かき氷屋三代記-我永遠に氷をアイス-, AUTHOR=null}
{TITLE=クロコダイル・ダンディ-爬虫類よもやま話-, AUTHOR=null}
{TITLE=スポーツ起源異聞, AUTHOR=null}
{TITLE=ツタンカーメンの逆襲, AUTHOR=null}
{TITLE=バットマンかく語りき, AUTHOR=null}
{TITLE=マグネットパワー-21世紀をこう変える-, AUTHOR=null}
{TITLE=ヨーロッパ中世スポーツの起源, AUTHOR=null}
{TITLE=亜細亜刑史大系, AUTHOR=null}
{TITLE=暗殺秘話, AUTHOR=null}
{TITLE=医学的見地より考察した中国拳法, AUTHOR=null}
{TITLE=泳げ!!騎馬民族, AUTHOR=null}
{TITLE=炎の武将・織田信長, AUTHOR=null}
{TITLE=玩具に見る古代中国の英知, AUTHOR=null}
{TITLE=奇跡の鳥慶漢(ウーケイハン), AUTHOR=null}
{TITLE=教育と体罰, AUTHOR=null}
{TITLE=驚異の昆虫セカイ, AUTHOR=null}
{TITLE=剣史記, AUTHOR=null}
{TITLE=拳法興亡史, AUTHOR=null}
{TITLE=現代麻薬集成, AUTHOR=null}
{TITLE=古代刑法全, AUTHOR=null}
{TITLE=室内球技における中国文明の影響, AUTHOR=null}
{TITLE=実用動物辞典, AUTHOR=null}
{TITLE=食うか食われるか!!セカイ食通事情, AUTHOR=null}
{TITLE=人体-その代謝機能の神秘-, AUTHOR=null}
{TITLE=セカイスポーツ奇譚, AUTHOR=null}
{TITLE=セカイの怪拳・奇拳, AUTHOR=null}
{TITLE=セカイ気象大鑑, AUTHOR=null}
{TITLE=セカイ古代兵器大鑑, AUTHOR=null}
{TITLE=セカイ拷問史, AUTHOR=null}
{TITLE=セカイ史に見る現代兵器の源泉, AUTHOR=null}
{TITLE=セカイ死闘決闘百選, AUTHOR=null}
{TITLE=西欧文明-その爛熟と退廃-, AUTHOR=null}
{TITLE=戦国異聞記, AUTHOR=null}
{TITLE=戦国決闘異聞第七巻, AUTHOR=null}
{TITLE=戦国武芸者往来, AUTHOR=null}
{TITLE=戦国武将考察, AUTHOR=null}
{TITLE=戦国武将人情譚, AUTHOR=null}
{TITLE=相撲人生待ったなし, AUTHOR=null}
{TITLE=大磁界, AUTHOR=null}
{TITLE=大衆操作暗黒史, AUTHOR=null}
{TITLE=誰が為に鐘は鳴る, AUTHOR=null}
{TITLE=男塾白書2000年版, AUTHOR=null}
{TITLE=知られざる秘拳, AUTHOR=null}
{TITLE=中国の奇拳-その起源と発達-, AUTHOR=null}
{TITLE=中国宮廷儀礼典範, AUTHOR=null}
{TITLE=中国拳法-その科学性, AUTHOR=null}
{TITLE=中国拳法に見る東洋医術, AUTHOR=null}
{TITLE=中国拳法修行大鑑, AUTHOR=null}
{TITLE=中国拳法大武鑑, AUTHOR=null}
{TITLE=中国古代吃驚医学大鑑, AUTHOR=null}
{TITLE=中国三千年の歴史に学ぶ現代人の知恵, AUTHOR=null}
{TITLE=中国電化大革命史, AUTHOR=null}
{TITLE=中国日本武術交流秘史, AUTHOR=null}
{TITLE=中国秘拳満漢全席, AUTHOR=null}
{TITLE=中国武具-その創造と継承-, AUTHOR=null}
{TITLE=中国武術大覧, AUTHOR=null}
{TITLE=鉄拳記, AUTHOR=null}
{TITLE=闘う動物大百科, AUTHOR=null}
{TITLE=独習中国拳法, AUTHOR=null}
{TITLE=肉体の神秘, AUTHOR=null}
{TITLE=肉体の神秘とスポーツ, AUTHOR=null}
{TITLE=日本風俗奇譚, AUTHOR=null}
{TITLE=氷の科学, AUTHOR=null}
{TITLE=浮虻流(ふあぶる)昆虫記, AUTHOR=null}
{TITLE=武の中国史, AUTHOR=null}
{TITLE=武士魂, AUTHOR=null}
{TITLE=武道達人逸話集, AUTHOR=null}
{TITLE=分子核構造その理論, AUTHOR=null}
{TITLE=狼少年-拳-, AUTHOR=null}
{TITLE=戮家その全貌, AUTHOR=null}
{TITLE=氣-その効用と実践, AUTHOR=null}
{TITLE=氣の科学, AUTHOR=null}
rollback transaction.
disconnect database.