早分かりS2Dao

Similar documents
S2Dao入門

S2DaoでもN:Nできます

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介

Microsoft PowerPoint - Seasar2.5.ppt

Microsoft PowerPoint - sc2007spring_Aa1_Kuina.ppt

Seasar.NET入門

相続支払い対策ポイント

150423HC相続資産圧縮対策のポイント

ハピタス のコピー.pages

Copyright 2008 All Rights Reserved 2

JPA & Kuina-Dao入門

領域サイズの見積方法

初心者にもできるアメブロカスタマイズ新2016.pages

- 2 Copyright (C) All Rights Reserved.

Copyright All Rights Reserved. -2 -!

n n n ( ) n Oracle 16 PostgreSQL 3 MySQL

IPA:セキュアなインターネットサーバー構築に関する調査

Microsoft Word - 最終版 バックせどりismマニュアル .docx

BC4J...4 BC4J Association JSP BC4J JSP OC4J

Microsoft Word - Android_SQLite講座_画面800×1280

Oracle Lite Tutorial

tkk0408nari

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第7版   None

untitled

Microsoft Word - 430_15_Developing_Stored_Procedure.doc

健康保険組合のあゆみ_top

リバースマップ原稿2

第 1 章 条件分岐 この章では 条件に応じて処理を分岐する方法について説明します 1. CASE 式で複雑な条件分岐を実現 2. 関数を使用した条件分岐 3. MERGE 文による条件に応じた DML の実行

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

1,.,,,., RDBM, SQL. OSS,, SQL,,.

プレポスト【問題】

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第8版  

橡実践Oracle Objects for OLE

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター

PowerPoint Presentation

T2でつなごう! -つなぐつながるWebフレームワーク「T2」の紹介

やよいの顧客管理

弥生給与/やよいの給与計算

弥生 シリーズ

弥生会計 プロフェッショナル/スタンダード/やよいの青色申告

弥生会計/やよいの青色申告

弥生会計 ネットワーク/プロフェッショナル2ユーザー


生産性アップの秘訣はこれだ! スクリプト系&Java系フレームワーク

ValueHolder... 9 Customer.java Oracle TopLink 10g(10.1.3) È Volume3 2

DB12.1 Beta HandsOn Seminar

Copyright 2008 NIFTY Corporation All rights reserved. 2


PowerPoint プレゼンテーション

Oracle Application Expressの機能の最大活用-インタラクティブ・レポート

Microsoft認定資格問題集(70-483_demo)

Microsoft PowerPoint ppt

関数サンプル1

文字列操作と正規表現

Copyright 2006 KDDI Corporation. All Rights Reserved page1

DAOの利用

スライド 0


はじめに コースの概要と目的条件分岐の方法や複雑な集計の手法など SQL のコーディングの幅を広げるためのテクニックについて説明します また パフォーマンスを考慮した記述方法や正しい結果を取得するための記述方法などについても あわせて説明します 本コースでは 実践的な SQL の記述手法を広く浅く紹

1000 Copyright(C)2009 All Rights Reserved - 2 -

WebOTXマニュアル

PowerPoint Presentation

ストラドプロシージャの呼び出し方

! Copyright 2015 sapoyubi service All Rights Reserved. 2

report03_amanai.pages

report05_sugano.pages


: ORDER BY

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部

untitled

Caché SQL に関するよくある質問

JAVA とテンプレート


- 2 Copyright (C) All Rights Reserved.

dekiru_asa

TopLink å SampleClient.java... 5 Ò readallsample() querysample() cachesample() Ç..

アジェンダ ORACLE MASTER Oracle Database 11g 概要 11g SQL 基礎 Ⅰ 試験紹介 ポイント解説 Copyright 2011 Oracle. All rights reserved. 2

10th Developer Camp - B5

TopLink È... 3 TopLink...5 TopLink åø... 6 TopLink å Workbench O/R ~... 8 Workbench À ~... 8 Foundation Library å... 8 TopL

実践的なサンプルアプリをその場でコーディングします!

_02_3.ppt

intra-mart im-JavaEE Framework

how-to-decide-a-title

Copyright Qetic Inc. All Rights Reserved. 2

DC9GUIDEBook.indb

Releases080909

Microsoft Word - tutorial3-dbreverse.docx

URL AdobeReader Copyright (C) All Rights Reserved.

intra-mart WebPlatform/AppFramework

GEC-Java

PostgreSQL SQL チューニング入門 ~ Explaining Explain より ~ 2012 年 11 月 30 日 株式会社アシスト 田中健一朗

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid("text_box02_id"); if ("001" == statee

Microsoft Word - Lab5d-DB2組み込みSQL.doc

今さら人には聞けないAOP入門

ゆみる は こうげきりょく が 2 あがった!

Case 0 sqlcmdi.parameters("?tencode").value = Iidata(0) sqlcmdi.parameters("?tenname").value = Iidata(1) 内容を追加します sqlcmdi.executenonquery() Case Else

(Microsoft PowerPoint - ClickFramework.ppt [\214\335\212\267\203\202\201[\203h])

データベースアクセス

[ ][ ] HTML [ ] HTML HTML

02_巻頭特集.indd

Transcription:

2008 Spring 早分かり S2Dao Seasar プロジェクトコミッタ ( 株 ) エルテックス 大中浩行 2008 Spring Copyright 2004-2008 The Seasar Foundation and the others. All rights reserved. 1

アジェンダ はじめに S2Dao とは? S2Dao に必要なもの S2Dao を動かしてみる 挿入 検索 更新 複雑な検索 (2WaySQL) 削除 2

自己紹介 大中浩行 Seasar プロジェクトコミッタ ( 株 ) エルテックス SI 事業部 http://www.fieldnotes.jp/d/ Twitter: @setoazusa Working Effectivelry With Legacy Code 読書会主催 5/31( 土 ) に第 1 回を開催します http://fieldnotes.sytes.net/~azusa/wiki/?legacyc t t t/ / iki/?l ode http://groups.google.co.jp/group/legacy-code / /l 3

S2Daoとは? S2Dao とは? 4

S2Daoとは? 1. 実装コードを書かずに 2. SQL を直接書ける 3. O/R マッパ 5

実装コードを書かずに 冗長なJDBCのコードの組み立てから解放されます! Dao は Java のインターフェースだけ ( 実装クラス不要 ) @S2Dao(bean=Employee.class) public interface EmployeeDao{ } public List<Employee> getallemployees(); 6

SQLを直接書ける Daoが使うSQLファイルを ツールから直接実行可能 (2-WaySQL) SELECT * FROM EMPLOYEE WHERE empno = /*empno*/7369 7

ResultSet から JavaBean への詰め替えも O/R マッパ PreparedStatement t tへのパラメータ設定も S2Daoがやってくれます 8

S2Dao に必要なもの 必要なもの 9

Dao のインターフェース 必要なもの テーブル ResultSet t に対応する Java オブジェクト (JavaBean/Entity/Dto) SQL ファイル Seasar の設定 Seasar2.4 の SMART Deploy に従えば設定レス 10

動かしてみる 動かしてみる 11

テーブル Employee テーブル カラム名 型 PK EMPNO numeric(4) ENAME varchar(10) JOB varchar(9) MGR numeric(7,2) HIREDATE Date SAL numeric(7,2) COMM numeric(7,2) DEPTNO numeric(2) TIMESTAMP timestamp 12

Entity @Bean(table = "EMPLOYEE") public class Employee { @Column("EMPNO") public Integer empno; @Column("EMPNO") public String ename; @Column("JOB") public String job; @Column("MGR") public Integer mgr; @Column("HIREDATE") public Date hiredate; @Column("SAL") public BigDecimal sal; @Column("COMM") public BigDecimal comm; @Column("DEPTNO") public Integer deptno; @Column("TIMESTAMP") public Timestamp timestamp; public String tostring() { return org.apache.commons.lang.builder.tostringbuilder.reflectiontostring(this); commons reflectiontostring(this); } Seasar } Conference 13

Dao @S2Dao(bean = Employee.class) public interface EmployeeDao { } 14

追加 public int insert(employee employee); 15

検索 // 全検索 public List<Employee> getallemployees(); // 主キーで検索 @Query("EMPNO =?") public Employee getemp(int empno); 16

更新 public int update(employee p employee); 17

@Arguments( { "job", "deptno" }) public List<Employee> getemployeebyjobanddeptno (String job, Integer deptno); 複雑な検索 18

SQLファイル SELECT * FROM EMPLOYEE /*BEGIN*/WHERE /WHERE /*IF "aaa".equals(job)*/ JOB = /*job*/'clerk' /*END*/ / /*IF deptno!= null*/ AND DEPTNO =/*deptno*/20 /*END*// /*END*/ / 19

SQLファイルの置き場 ファイル名は Daoのクラス名 _ メソッド名.sql この場合 EmployeeDao_getEmployeeByJobAndDeptno.sql l t l Eclipse の場合はソースファイルと同じ場所に置く Maven2の場合は src/main/resources / 20

削除 public int delete(employee l employee); // もしくは @Query("EMPNO =?") public int deletebyquery(int empno); 21

S2Dao は まとめ 1. 実装コードを書かずに DaoD はインターフェースのみ 2. SQLを直接書ける 2WaySQLで自由自在 3. O/R マッパ 詰め替え 設定手間いらず 22

ホームページ http://s2dao.seasar.org/ja/index.htmlseasar org/ja/index html 質問は Seasar-User メーリングリストまで More Info https://ml.seasar.org/mailman/listinfo/seasaruser 開発に関する議論はseasar-s2dao-devメーリングリストまで https://ml.seasar.org/mailman/listinfo/seasars2dao-dev 23

おわり ありがとうございました 24