タグ

SQLとJavaに関するasa_ca3のブックマーク (5)

  • PySparkはじめました - 分散処理デビューする前にやったこと - JX通信社エンジニアブログ

    「JX通信社Advent Calendar 2019」10日目の記事です. 昨日は, @rychhrさんの「Pure WebSocketsをサポートしたAWS AppSyncでWebとiOS間のリアルタイムチャットを作ってみた(1)」でした. 改めまして, こんにちは. JX通信社でシニア・エンジニア&データ基盤エンジニアをしています, @shinyorke(しんよーく)と申します. JX通信社では, データ駆動での意思決定および施策実施をより円滑に進めるため, データ基盤の構築・運用を進めながらトライアル的に様々なFrameworkやツールの検証を行っています.*1 このエントリーでは, 私がシュッとPySparkで分散処理をする...前に, 手元で試したときの感想とその知見 のお話を残していきたいと思います. なお, 分散処理そのものの知見・ノウハウではなく, する前にPySparkに

    PySparkはじめました - 分散処理デビューする前にやったこと - JX通信社エンジニアブログ
  • メモリー管理に失敗したJavaアプリの実例

    O/Rマッピング・ツールと運用設計ミス 稿では、Java EEアプリケーションで使われることの多いO/Rマッピング・ツールにおけるサイジングの重要性について解説します。 今回取り上げる事例は、JavaのWebアプリケーション開発ではかなり有名なO/Rマッピング・ツールである「iBatis」*1を使ったものです。 [*1] 現在は、MyBatisと名前を変えて、継続的にリリースされています。 [mybatis[http://www.mybatis.org/java.html]] , [google code:mybatis[http://code.google.com/p/mybatis/]] 問題となったアプリケーションでは、データベースの接続からクエリーを投げるところまで、全面的にiBatisを利用していました。採用された理由は、既存のSQLを利用しつつ、動的SQLを簡単に作成できると

  • 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
  • Hibernateでインテグレーション層のDAOデザインを考える - @IT

    @Stateless public class OrderEntry { @PersistenceContext EntityManager em; public void enterOrder(int custID, Order newOrder) { Customer cust = (Customer)em.find("Customer", custID); cust.getOrders().add(newOrder); newOrder.setCustomer(cust); } } OrderEntryクラスは、アノーテーション@Statelessがあることからステートレスなセッション・ビーンとして動作することが示されています。また、@PersistentContextによって、EJB 3.0から導入されたパーシスタンスAPIであるEntityManagerをOrderEntryセッ

    asa_ca3
    asa_ca3 2010/07/13
    今更だけどHibernate勉強しなおし。。
  • 1