タグ

SQLとjdbcに関するasa_ca3のブックマーク (4)

  • Groovyでデータベース操作(GroovySQL) - No Programming, No Life

    GinAのデータベースの章*1に書かれていることをまとめておこうと思う。 ここに書かれている内容はSQLをある程度理解している方を対象としています。また、JavaDB操作を行ったことがあると理解が早まります。 DBに接続 まずは、JDBCドライバを使ってDBに接続する。ひとまず簡単な方法はファクトリメソッドを使う方法。groovy.sql.Sql#newInstance() を利用する。戻り値はgroovy.sql.Sqlインスタンス。 def db = Sql.newInstance( 'jdbc:〜〜', // DB接続文字列 'ユーザ名', // ユーザ名 'パスワード', // パスワード 'jdbcドライバクラス' // JDBCドライバ ) データの挿入・更新・削除 データの挿入・更新・削除を実行する方法としては、groovy.sql.Sql#execute(statment

    Groovyでデータベース操作(GroovySQL) - No Programming, No Life
  • [ORM][Java] JavaのORMをいくつか比較してみる

    昼間のお仕事の関係でORMをいくつか触ったので、比較してみることにした。今更なーという感じはするけど、現時点で選ぶなら何なのだろうかと考える人の一助になれば。 ※ 2012/09/18 改訂。Spring DATA JPAと QueryDslについては詳細をGistにあげたので、リンクを貼りました。 Java Persistence API (JPA) JSR-317. 一応JavaEE6の標準になっているが、使いやすいわけではなく補助的に組み合わせて使うライブラリがいくつか存在するのでそれらについて後述。 大まかに、クエリを書く方法は2通り JPQL(SQLに似非の独自クエリ言語)を文字列で書く 例: select o from Order o where o.date < '2012-09-01' Criteria API(メタクラスを生成すればある程度は型安全だが、APIが使いにくい

    [ORM][Java] JavaのORMをいくつか比較してみる
  • prepareStatementの使用 - データベース接続 - サーブレット入門

    「PreparedStatement」は「Statement」と同じくデータベースに対するSQL文を実行するために使われますが、「PreparedStatement」で使うSQLは事前にコンパイルが行われています。その為高速に実行することが出来るようになっています。 ただ全てを事前にコンパイルしてしまっては同じ問い合わせにしか利用出来ません。そこでSQLの中でも変更が行われる部分を後からパラメータとして指定することが出来るようになっています。 「PreparedStatement」は例えば大量のINSERTを実行するような場合など基的に同じSQL文で挿入する値の部分だけが違うようなSQLを実行する場合に便利なステートメントになっています。 PreparedStatementの作成 プリペアドステートメントは「java.sql.PreparedStatement」インターフェースのオブジェ

  • Java: PreparedStatement で like を扱う時の注意点 - toyfish.blog

    JDBC には PreparedStatement クラスが用意されていて、SQL 文の一部をパラメータ化することができる。 パラメータ部分のエスケープ処理は JDBC ドライバが行ってくれるので、SQL インジェクション対策として最近では必須になりつつあるこのクラス。しかし、like 演算子を使う場合は、ちょっと注意が必要だ。 Lv 1 ネットで検索してみると、失敗例としてひっかかってくるのがこのパターン。 Statement stmt = conn.prepareStatement("select * from items where name like '?%'"); stmt.setString(1, "hatena"); ResultSet rs = stmt.executeQuery();name が "hatena" で始まる行を選択しようとしているわけだけど、これだと例外が

    Java: PreparedStatement で like を扱う時の注意点 - toyfish.blog
  • 1