タグ

ormに関するdecoy2004のブックマーク (19)

  • [Java]iciqlで簡単DBアクセス[ORマッパー] | DevelopersIO

    JavaアプリでORマッパーを使う 先日、ちょっとしたJavaアプリを作る必要があり、DBアクセス方法をどうしようか検討してました。 最初はPreparedStatementつかって自分でSQL組み立ててもいいかなあと思ってたんですが、 仕様を確認したらそこまで楽なDBアクセスでないのでNG. 次にSpring DataとかhibernateとかiBATISとかのORマッパーを使おうと思ってたんですが、 DBアクセスをしたいだけなのに依存ライブラリがいっぱいあったり設定ファイル用意したりして 面倒だったので、これもヤメました。 で、いろいろ探してみた結果、簡単につかえそうなiciqlというORマッパーがあったので、紹介します。 iciqlの特徴は以下のとおり。 単一のjarで提供される 設定ファイルなしで使える DBからモデル生成できるツール付き xmlとかでいちいち設定ファイルを書かずに

    [Java]iciqlで簡単DBアクセス[ORマッパー] | DevelopersIO
  • syboos.jp

  • 至高のORMを求めて放浪 - ka-ka_xyzの日記

    まえがき この記事はオブジェクト関係マッピング(ORM)を実装する方法がどうこうという話ではなく、単に愚痴です。 事の起こり 社内の新規プロジェクトで 「具体的な機能要件もUIも決まっていないが、新規公開サービスについてある機能(といってもそれなりに複雑なWebアプリを一つ必要とする程度にはヘビー)だけ先にお前が実装してみてくれ」というタスクが出される そんな事言っても機能要件とDBテーブル定義ぐらいは最低限何とか決めておいてくれと頼んだものの、その辺は適当にやっておけと言われる(この辺は色々と事情があるので、仕方が無い面もあるが・・・) とりあえず似たような機能を持つ既存システムのテーブル定義を拡張したテーブルを使用したり(というかこの段階では既存システムのテーブル定義を流用するという話だった)、DBアクセスの無いモックDAO実装を作って開発実装を進める。この頃までは、DAOを抽象化して

    至高のORMを求めて放浪 - ka-ka_xyzの日記
  • Seasarにさわるさー S2DAO

    作成 2004/10/10 更新 2004/10/14 SeasarではAOPを利用してDBアクセス(O/Rマッピング)ツールを提供しています。 このツールはS2DAOと呼ばれ、効果的にAOPが利用されています。 環境設定 SeasarのWebページから、S2DAOをダウンロードします。ここでは現時点の最新版のV1.0.12をダウンロードしました。 必要なJARと設定ファイルの配置 以下の設定を行います。 libディレクトリ以下のJARファイルをクラスパスに通す 必要な設定ファイル(j2ee.dicon, dao.dicon, log4j.properties)をクラスパスのルート(Eclipseであればソース・フォルダ直下)に配置。 その他にJDBCドライバも必要です。HSQLDBを利用しない場合は、別途JDBCドライバをクラスパスに通します。ここではRDBにはMySQLを利用しました。

    decoy2004
    decoy2004 2009/07/23
    定数アノテーションという方法で、XMLにわらわら書く代わりに定数で定義する方法をとります
  • SeasarのO/RマッピングツールS2Dao

    Seasar(シーサー)は、国内のコミュニティ「The Seasar Project」によって開発が行われているオープンソースプロダクトだ。DI+AOPコンテナとして評価が高いSeasarV2は、J2EE開発の現場にも影響力を持ち始めた。例えば電通国際情報サービスがSeasar Projectを正式に支援することを表明し、2005年6月からは同社による商用サポートサービスが開始されている。連載では、同プロジェクトの代表的なプロダクトを紹介していく。(編集局) 第2回「DI+AOPを実現するSeasarV2」と第3回「SeasarV2によるDBアクセス機能」ではSeasarV2(S2)体の機能であるDI(依存性の注入)とAOP(アスペクト指向プログラミング)について紹介してきました。今回からは、S2体の機能を使ったS2プロダクトを紹介していきます。 始めはS2体と同じ開発者の手による

    SeasarのO/RマッピングツールS2Dao
    decoy2004
    decoy2004 2009/07/23
    決められた命名規則に従って作成されたメソッドをインターフェイスに記述しておくと、それを基にS2DaoがSQL文を自動生成します。
  • 「薄い」JavaのO/Rマッパーの紹介 - DbUtils、Persist、Butterfly Persistence - public static void main

    Hibernate、ActiveObjects、S2Dao、Apache Cayenne、iBATISなどORMフレームワークが群雄割拠状態なJavaですが、使い方を勉強したり設定ファイル書いたりするのが少し面倒かなと思っている人がいるかもしれません。 特にちょっとしたアプリケーションを作るならば、素のJDBCを使うのは嫌だけど、それに近い形で使えるORマッパーが欲しいと思うことがたびたびありました。 ということで以下の条件でJDBCを薄くラッピングしているJavaのライブラリを探して発見したものを紹介します。 レコードをオブジェクトに自動的にマッピングしてくれる できるだけSQLを書く量を減らすことができる いざとなったら生SQLを書くことができる 導入が簡単である 依存ライブラリが少ない 以下に挿入、検索、更新、削除を実行するコードを書いています。 今回はDBMySQLだったので、M

    「薄い」JavaのO/Rマッパーの紹介 - DbUtils、Persist、Butterfly Persistence - public static void main
  • [ThinkIT] 第1回:O/Rマッピング (3/4)

    HibernateではXMLにオブジェクトとテーブルの紐付けに関する情報を記述します。 HibernateはRails登場以前から普及しているため、CoC的な考えがあまりありません。カラム名とプロパティ名を同一にすると、XML記述の一部を削減することができますが、全体からすると微々たるものです。 以下にHibernateを用いた場合のソースコードを示します。Zooクラス自体はきれいにPOJO(Plain Old Java Object)にまとまっているのですが、アクセッサ(getXXX/setXXX)の記述が冗長です。また、どうしても定義ファイルの記述量が膨らんでしまっています。 クラスファイル public class Zoo { private int id; private String name; private String address; private Set animal

  • Javaのオブジェクト永続化に何を選ぶ?(3/3) - @IT

    第1回 Javaのオブジェクト永続化に何を選ぶ? ネクストデザイン 村山 徹 2005/12/7 ■永続化をスマートに解決する O/Rマッピングに費やされる開発工数は、全体の40%近くを占めるという報告があります。開発経験のある方であれば、この数字は決して大きいとは思われないでしょう。永続化の問題をいかに解決するかは、システム開発の成否を決める重要なポイントです。稿では、現時点で最もスマートな解決方法と思われる、O/Rマッピングツール「Hibernate」を使用する方法と、オブジェクト指向データベース「Caché」を使用する方法の2つを比較します。 O/Rマッピングツールとは これは文字どおりO/Rマッピングを実現するためのツールやフレームワークを指します。現在、オープンソース・ソフトのものや商用の製品などが存在します。例えば、 Torque Cayenne JDO仕様とその実装 O/R

  • 第3回 Java標準のO/Rマッピング機能「Java Persistence API」

    前回はEJB 3.0のインターセプタ機能を使ったセッションBeanとコンテナ管理によるトランザクションについて説明しました。今回はJava EE(Enterprise Edition)やJava SE(Standard Edition)におけるO/Rマッピングの標準になる「Java Persistence API」*1を紹介しましょう。 Java Persistence APIを使うメリットは大きく二つあります。一つ目は,少ないプログラム・コードでデータにアクセスできることです。Java Persistence APIは,Javaオブジェクトをデータベースに格納したり,データベースのデータをJavaオブジェクトへ変換したりする処理を自動化してくれます。したがって,データベース・アクセス用のAPIであるJDBCを直接使ったアプリケーションよりも少ないプログラム・コードでデータベースへのアクセ

    第3回 Java標準のO/Rマッピング機能「Java Persistence API」
  • HOMMEZ公式オンラインショップ

    HOMMEZ(オムズ)は男性の心と身体の健康を支援し、一人でも多くの人が子供を得る幸せや男性としての喜びを享受できる社会の実現を目指しています。男性の妊活、活力にまつわる情報や商品の力で性や妊活に悩む男性が効率的に納得感を持って活動できる機会を創出します。

  • activeobjects: ホーム

    Description ActiveObjects is an intuitive, pure-Java ORM. AO is designed from the ground up to be extremely simple and easy to use from an API standpoint. AO can be used with either an existing database schema, or it can auto-generate the database schema from the user-specified entity interfaces. ActiveObjects also supports Rails-style database migrations, allowing incremental changes and refac

  • blog.katsuma.tv

    CakePHPで作成したアプリケーションに対して、Javaアプリケーションから簡単なDB操作(実際はselectだけできればOK)をする必要があって、生のSQLを書くか、それともいい機会だしORマッパのライブラリを勉強がてら使ってみるか、、なんて悩んでいました。保守性を考えるとやっぱり生SQL案は無しで、ORマッパを使うことにしたのですが、Hibernateはどうもリッチすぎる印象があってなかなかやる気が進みませんでした。大規模アプリ開発ならまだしも、今回は上で書いた通り、最低限の参照だけできればそれで事足りる状況だったので、そのためだけにわざわざ設定用のXMLを書くのは気が引けていたのです。 3分で始められるORマッパ 3分間クッキングじゃないですけど、それくらい手軽に操作できるものをずっと探し続けていたら、ActiveObjectsなるプロジェクトに辿り着きました。 AcitiveOb

  • ORM比較(6) - iBATIS - しがないプログラマ の日記

    iBATISは、XMLにSQLを記述しJavaのBeanに対して自動的に値を設定するORマッピングになっています。どんなSQLになるかは分かりやすいですが、XMLとJavaとの同期を取る方法は特には用意されていないので、管理が必要になります。また、このプロジェクトもApacheプロジェクトのうちの1つになっています。同一のプロジェクトで .NETRubyにも対応しているようです。設定が使いまわせるんですかね? また、新規に開発されている Ver3ではJPAに対応することをうたっていますが、まだstableになっていないので、Ver2を使用しています。 公式ページは http://ibatis.apache.org になります。 動かすために必要なライブラリは、以下の5つだけです。 ibatis-2.3.4.726.jar commons-dbcp-1.2.2.jar commons-l

    ORM比較(6) - iBATIS - しがないプログラマ の日記
  • ORM比較(5) - S2JDBC - しがないプログラマ の日記

    S2JDBCは、SeasarプロジェクトのS2Containerにextensionとして標準で付属してるORマッピングです。DIコンテナにSeasar2を使う場合には、ORマッピングとして一番最初に使用候補に挙がることになると思います。ただし、JPAのアノテーションにはほぼ対応していますが、JPAに準拠してはいません。使い方は独自の方法を取ることになります。 公式ページは http://s2container.seasar.org/2.4/ja/s2jdbc.html になります。 今回使うライブラリは、S2-Framework,S2-Extension,S2-Tigerを使うことになります。実際に必要なライブラリは以下の通り。 s2-framework-2.4.35.jar (S2-Framework体) aopalliance-1.0.jar (S2-Framework依存ライブラ

    ORM比較(5) - S2JDBC - しがないプログラマ の日記
  • ORM比較(4) - OpenJPA - しがないプログラマ の日記

    このOpenJPAは、名前の通りJPA準拠のJacartaプロジェクトORMです。JPA対応なので、使い方は前々回(ORM比較(2) - Hibernate - しがないプログラマ の日記) のJPA版と同じになります。 公式ページは http://openjpa.apache.org/ になります。 動かすために必要なライブラリは、以下の通りです。 c3p0-0.9.1.2.jar commons-collections-3.2.jar commons-lang-2.1.jar geronimo-jpa_3.0_spec-1.0.jar geronimo-jta_1.1_spec-1.1.jar openjpa-1.2.1.jar postgresql-8.3-603.jdbc4.jar serp-1.13.1.jar それでは実際のソースを。 Entityクラスは、JPAに従っている

    ORM比較(4) - OpenJPA - しがないプログラマ の日記
  • ORM比較(3) - EclipseLink - しがないプログラマ の日記

    ちょっと前にJPA2.0の参照実装に決まった、EclipseLink(元『TopLink Essentials』)です。名前の通り、Eclipseプロジェクトのサブプロジェクトになっています。これから有名になりそうなライブラリですね。 プロジェクトの公式ページは http://www.eclipse.org/eclipselink/ になります。 動かすために必要なライブラリは、上記のページからDownloadしたら揃う様になっていますね。実際には以下の通りです。 eclipselink.jar javax.persistence_1.99.0.jar javaxactivation_1.1.0.jar javax.mail_1.4.0.jar javax.xml.bind_2.0.0.jar javax.xml.stream_1.0.0.jar jaxb-impl.jar jaxb-xj

    ORM比較(3) - EclipseLink - しがないプログラマ の日記
  • ORM比較(2) - Hibernate - しがないプログラマ の日記

    JavaORMと言えば、Hibernateと言われるくらい有名なライブラリです。HibernateはJ2EEの標準APIであるJPAに対応しているので、Hibernateをそのまま使う場合とJPA互換の使い方と2通りのデータ取得方法で書いてみます。 公式ページは https://www.hibernate.org/ になってます。 今回使うライブラリは、Hibernate-Core,Hibernate-Annotations,Hibernate-EntityManagerを使うことになります。実際に必要なライブラリは以下の通り。 antlr-2.7.6.jar commons-collections-3.1.jar commons-logging-1.1.jar dom4j.jar ejb3-persistence.jar hibernate-annotations.jar hibern

    ORM比較(2) - Hibernate - しがないプログラマ の日記
  • ORM比較(1) - ActiveObjects - しがないプログラマ の日記

    ActiveObjectsは、Ruby on Railsの ActiveRecordの考え方を元にしていて、XMLを使わずに全てJavaで記述できるORMです。CoCを重視するので、テーブル構造などは基的に ActiveRecordと同じようにキー項目は id固定で、ORMのユーザ側からは操作しない前提になっています。 公式ページは https://activeobjects.dev.java.net/ になってます。 動かすために必要なライブラリは、以下の3つだけです。 activeobjects-0.8.2.jar (ActiveObjecects) c3p0-0.9.1.2.jar (C3P0 コネクションプーリングするためのライブラリ) postgresql-8.3-603.jdbc4.jar (PostgreSQL用JDBCドライバ) そんな訳でさっそくソースを。 Entity

    ORM比較(1) - ActiveObjects - しがないプログラマ の日記
  • ORマッピングの比較 - しがないプログラマ の日記

    JavaORMライブラリの使い勝手の比較をしてみました。と言っても、とりあえずSelectとInsertするだけのものです。導入を考えた時の最初の設定がどの程度違うのかを比較するためのものです。 比較対象は、以下の5つになっています。 ActiveObjects Hibernate EclipseLink OpenJPA S2JDBC iBATIS 開発はEclipseで行う前提で、IDEのサポート範囲も含めて調査しました。 ここで扱うデータの論理構造は以下のようなものとします。 ユーザマスタ ユーザID(PK),パスワード,ユーザグループID(FK) ユーザグループマスタ ユーザグループID(PK) ここで各IDは文字列を想定していますが、ORMによってはPKに任意の値が使えない場合があるのでその場合には「ユーザ名」などの別の列に名称を入れることとする。 詳細は別の日に書いてあります。

    ORマッピングの比較 - しがないプログラマ の日記
  • 1