PowerPoint プレゼンテーション

Size: px
Start display at page:

Download "PowerPoint プレゼンテーション"

Transcription

1

2 やさしく理解するはじめての JPA JPA の使い方 川場隆活水女子大学 Copyright 2015, Oracle and/or its affiliates. All rights reserved.

3 わかりやすい Javaの本をいくつか書きました 昨年 11 月に出した わかりやすいJavaEE は 大学生など Java 初心者向けに書いた入門書です 最初から< 金魚本 >では辛い わかりやすいJavaEE をまず読むと 理解が進みます 今日は わかりやすい JavaEE の 15~18 章 (JPA) を要約して お話します 川場隆 / Copyright 2015, Oracle and/or its affiliates. All rights reserved. 3

4 内容 JPAの仕組みいろいろなエンティティマッピングオブジェクト関係マッピング操作の主役はJPQL Copyright 2015, Oracle and/or its affiliates. All rights reserved. 4

5 内容 JPAの仕組みいろいろなエンティティマッピングオブジェクト関係マッピング操作の主役はJPQL Copyright 2015, Oracle and/or its affiliates. All rights reserved. 5

6 1. JPA(Java persistent API) の役割と効果 オブジェクトの世界 JPA データベース (RDB) の世界 キーカラムで関連するテーブルを結合する INFORMATION テーブルのキー Copyright 2015, Oracle and/or its affiliates. All rights reserved. 6

7 1. JPA(Java persistent API) の役割と効果 オブジェクトの世界 JPA データベース (RDB) の世界 参照でオブジェクトを関連付ける Information オブジェクトの参照 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 7

8 1. JPA(Java persistent API) の役割と効果 オブジェクトの世界 JPA データベース (RDB) の世界 JavaオブジェクトとRDB( レコード テーブル ) との自動変換 変換指定( マッピング ) はアノテーションだけでOK Javaオブジェクトをそのまま 読み 書き 削除 検索などできる オブジェクト指向の問い合わせ言語(JPQL) が使える JPQLと同等なAPIも使える Copyright 2015, Oracle and/or its affiliates. All rights reserved. 8

9 2. すべての操作を行う EntityManger エンティティマネージャーを使ってデータベース処理を実行する Copyright 2015, Oracle and/or its affiliates. All rights reserved. 9

10 2. すべての操作を行う EntityManger エンティティマネージャーを使ってデータベース処理を実行する Copyright 2015, Oracle and/or its affiliates. All rights reserved. 10

11 2. すべての操作を行う EntityManger エンティティマネージャーを使ってデータベース処理を実行する Copyright 2015, Oracle and/or its affiliates. All rights reserved. 11

12 3. エンティティの作成 ( 基本 ) エンティティ = データベースに保管するオブジェクト エンティティクラスの要件 publicで引数のないコンストラクタを持つ 4 カプセル化する 5 final 修飾子をクラスやフィールドに使わない Copyright 2015, Oracle and/or its affiliates. All rights reserved. 12

13 3. エンティティの作成 ( 基本 ) import java.io.serializable; import javax.persistence.*; import public class Employee implements private Integer number; // 社員番号 private String name; // 氏名 private String mail; // メール public Employee(){ public Employee(Integer number, String name, String mail){ // セッター ゲッター ( 省略 ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 13

14 3. エンティティの作成 ( 基本 ) import java.io.serializable; import javax.persistence.*; ビーンバリデーションも指定できる import ---- Null public class Employee implements private Integer number; // 社員番号 private String name; // 氏名 private String mail; // メール public Employee(){ public Employee(Integer number, String name, String mail){ // セッター ゲッター ( 省略 ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 14

15 3. エンティティの作成 ( 基本 ) import java.io.serializable; import javax.persistence.*; import public class Employee implements private Integer number; // 社員番号実用上は private String name; // 氏名インスタンスを作成するためのコンストラク private String mail; // メールタも作っておく public Employee(){ public Employee(Integer number, String name, String mail){ // セッター ゲッター ( 省略 ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 15

16 3. エンティティの作成 ( 基本 ) import java.io.serializable; import javax.persistence.*; import public class Employee implements private Integer number; // 社員番号 private String name; // 氏名 private String mail; // メール public Employee(){ public Employee(Integer number, String name, String mail){ Netbeansで自動生成 1 エディタ上で右ボタン // セッター ゲッター ( 省略 ) 2[ コードを挿入 ] を選択 3[ 取得メソッドおよび設定メソッド ] を選択 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 16

17 4. EntityManger の機能 エンティティマネージャーを使ってデータベース処理を実行する Copyright 2015, Oracle and/or its affiliates. All rights reserved. 17

18 4. EntityManager の機能 javax.persistence パッケージ interface EntityManager メソッド void persist(object e ) E merge( E e) void remove(object e) E find(e.class, Object key) E getreference(e.class, Object key) void refresh(object e) void clear() void flush() void detach(object e) boolean contains(object e) 機能エンティティeをデータベースに新規登録するデータベースの中のエンティティを引数のエンティティeで更新するエンティティeを ( データベースから ) 削除する key( 主キー ) で検索して発見したエンティティを返す findと同様だが遅延フェッチする永続性コンテキストにあるエンティティeをデータベースから取得した値で更新永続性コンテキストをクリアし エンティティを永続性コンテキストから分離永続性コンテキストにあるエンティティを即時にデータベースと同期する引数のエンティティを 永続性コンテキストから分離する引数に指定したエンティティが永続性コンテキストの中にあるかどうか調べる E はエンティティの型を表し Class<E> を E.class と表記しています Copyright 2015, Oracle and/or its affiliates. All rights reserved. 18

19 4. EntityManager の機能 < 使い方 > EJBのクラスで使用するトランザクション管理を EJBコンテナがやってくれるので 単に永続性コンテキストを相手にして 読み書き 検索を行えばよい commit rollback などは public class Db private EntityManager em; public void create(employee obj){ em.persist(obj); // 挿入 public void update(employee obj){ em.merge(obj); エンティティマネージャーは DI で取得する // 更新 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 19

20 6. CRUD のための汎用クラス エンティティごとにこのような EJBが必要なので いくつものエンティティを使う時 public class Db private EntityManager em; public void create(employee obj){ em.persist(obj); public void update(employee obj){ em.merge(obj); Copyright 2015, Oracle and/or its affiliates. All rights reserved. 20

21 6. CRUD のための汎用クラス どんな型のエンティティでも処 理できるように 総称型のスー パークラスを使っておく public class Db<T> private EntityManager em; public void create(t obj) { em.persist(obj); public void update(t obj) { em.merge(obj); エンティティごとにこれだ public class EmployeeDb extends Db<Employee>{ Copyright 2015, Oracle and/or its affiliates. All rights reserved. 21

22 6. CRUD のための汎用クラス 検索系のメソッドでは エンティティの型情報も必要なので コンストラクタで受け取るように修正 public class Db<T> { private Class<T> cl; // private EntityManager em; public Db(Class<T> cl){ this.cl = cl; public void create(t obj) { em.persist(obj); public T find(object id) { return em.find(cl, id); クラス型 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 22

23 6. CRUD のための汎用クラス 例えば EmployeeDb Employee エンティティの処理クラス 結局 エンティティごと にこれだけ書けばよい public class EmployeeDb extends Db{ public EmployeeDb(){ EmployeeDb db; メソッドの中で Employee e = new Employee( ) db.create(e); Copyright 2015, Oracle and/or its affiliates. All rights reserved. 23

24 6. CRUD のための汎用クラス メソッド名 public void create(t entity) public void edit(t entity) public void delete(t entity) 新規登録する 更新する 削除する 機能 public T find(object id) public List<T> findall() public List<T> findrange(int[] range) public int count() キーによる検索 全件を取得する range[0] から range[1] の範囲のエンティティを取得 全件数を返す からダウンロードできます Copyright 2015, Oracle and/or its affiliates. All rights reserved. 24

25 7. エンティティのライフサイクル エンティティマネージャーを使ってデータベース処理を実行する Copyright 2015, Oracle and/or its affiliates. All rights reserved. 25

26 7. エンティティのライフサイクル persist() 管理状態 管理状態 merge() RDBとの同期 トランザクション終了時 クエリ発行時 flash() メソッド実行時 reload() メソッド実行時 分離状態 detach() clear() 管理状態 永続性コンテキスト 管理状態 find() RDB 削除状態 remove() デフォルトでエンティティ をキャッシュする Copyright 2015, Oracle and/or its affiliates. All rights reserved. 26

27 6. エンティティのライフサイクル メソッド persist merge remove 本来の意味 新しくエンティティを管理対象にする detachしたエンティティなど対象外のエンティティを再度管理対象とするエンティティを削除対象にする find detach clear public class Db { 引数で指定されたエンティティを管理対象外 ( 分離 ) 全てのエンティティを管理対象外にする private EntityManager em; public void save(employee obj){ em.persist(obj); obj.setname( 鈴木 ); メソッドは 対象にする だけで RDB との同期はエンティティマネージャーが管理している Copyright 2015, Oracle and/or its affiliates. All rights reserved. 27

28 7. 永続性ユニットとデータベース接続 事前に1 回だけ <データベースサーバー > 1 データベースを作成する (ex. mydb) <アプリケーションサーバー > 2 RDBのJDBCのドライバを置く 3 コネクションプールとデータソースを登録する < アプリケーション > 4 データベース接続情報を作成する ( 永続性ユニット =persistence.xml) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 28

29 7. 永続性ユニットとデータベース接続 < データベースサーバー > 1 データベースを作成する (ex. mydb) < アプリケーションサーバー > 2 RDB の JDBC のドライバを置く 3 コネクションプールとデータソース を登録する アプリケーション毎に < アプリケーション > 4 データベース接続情報を作成する ( 永続性ユニット =persistence.xml) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 29

30 7. 永続性ユニットとデータベース接続 アプリケーションは永続性ユニットの情報により データベースにアクセスする 複数の永続性ユニットを作って 複数のデータベースをハンドリンクできる Copyright 2015, Oracle and/or its affiliates. All rights reserved. 30

31 7. 永続性ユニットとデータベース接続 (JavaEE) IDE は 永続性ユニット (persistence.xml) を自動生成する機能がある NetBeans では サーバーにコネクションプールやデータソースが作成されていない場合 その作成処理も合わせて行うことができる 右の動画で MySQL をインストール直後 ee7 という名前のデータベースを作成し アプリケーションで使用できるようにする設定手順を示す Copyright 2015, Oracle and/or its affiliates. All rights reserved. 31

32 8. JPA の使い方 (EE) JavaEE で public class Bb { private Integer number; private String name; private String EmployeeDb db; public String create() { Employee emp = new Employee(number, name, mail); db.create(emp); return null; // セッター ゲッター Copyright 2015, Oracle and/or its affiliates. All rights reserved. 32

33 8. JPA の使い方 (EE) フィールドの各項目は プログラムの変数 にバインド ( 結合 public class Bb { private Integer number; private String name; private String EmployeeDb db; public String create() { Employee emp = new Employee(number, name, mail); db.create(emp); return null; // セッター ゲッター Copyright 2015, Oracle and/or its affiliates. All rights reserved. 33

34 8. JPA の使い方 (EE) このようなウェブは JSF で作成し public class Bb { private Integer number; private String name; private String EmployeeDb db; public String create() { Employee emp = new Employee(number, name, mail); db.create(emp); return null; // セッター ゲッター バッキングビーン Copyright 2015, Oracle and/or its affiliates. All rights reserved. 34

35 8. JPA の使い方 (EE) JSFでは ボタンを押したとき起動するメソッドを指定できる 例では 登録ボタンを押すと public class Bb { private Integer number; private String name; private String EmployeeDb db; public String create() { Employee emp = new Employee(number, name, mail); db.create(emp); return null; // セッター ゲッター バッキングビーン Copyright 2015, Oracle and/or its affiliates. All rights reserved. 35

36 public class Bb { private Integer number; private String name; private String EmployeeDb db; public String create() { Employee emp = new Employee(number, name, mail); db.create(emp); return null; // セッター ゲッター 8. JPA の使い方 (EE) バッキングビーン create メソッドは ウェブから受け取った データで Employee エンティティ ( オブ ジェクト ) を作成し db.create でデータ ベースに登録する db は EJB(Enterprise Java Beans) なので DI で取得する Copyright 2015, Oracle and/or its affiliates. All rights reserved. 36

37 8. JPA の使い方 (EE) データベース処理は EJB に書く EJB コンテナがデータベースのトランザク ション処理を管理してくれるので 記述 が簡単になる begin, commit, close, public class Bb { private Integer number; private String name; private String EmployeeDb db; public String create() { Employee emp = new Employee(number, name, mail); db.create(emp); return // セッター ゲッター public class EmployeeDb private EntityManager em; public void create(employee emp) { em.persist(emp); バッキングビーン DI でエンティティマネージャを取得する データベースに登録する Copyright 2015, Oracle and/or its affiliates. All rights reserved. 37

38 public class Bb { private Integer number; private String name; private String EmployeeDb db; public String create() { Employee emp = new Employee(number, name, mail); try { db.create(emp); catch(exception e){ // 例外処理 return null; // セッター ゲッター 8. JPA の使い方 (EE) バッキングビーン 新規データの書き込みで すでに同じ キーを持つデータが存在している場合な どは例外が発生する 例外処理が必要な 場合は try-catch の中で EJB のメソッドを 呼び出す Copyright 2015, Oracle and/or its affiliates. All rights reserved. 38

39 内容 JPAの仕組みいろいろなエンティティマッピングオブジェクト関係マッピング操作の主役はJPQL 動かせる例題プロジェクトを からダウンロードできます Copyright 2015, Oracle and/or its affiliates. All rights reserved. 39

40 1. デフォルトのマッピング ( 設定より規約 ) 1 エンティティのクラス名をテーブル名とする 2 フィールド変数名をテーブルのカラム名とする 3 public class Employee private Integer number; private String name; EMPLOYEE テーブル [PK] NUMBER NAME Copyright 2015, Oracle and/or its affiliates. All rights reserved. 40

41 1. デフォルトのマッピング ( 設定より規約 ) 1 エンティティのクラス名をテーブル名とする 時間の都合で具体的な 用例やサンプルプログラムの紹介は省略 2 フィールド変数名をテーブルのカラム名とする します 詳細は わかりやすい JavaEE を見てください 3 データ型は RDB の種類で若干異なる名前になる ここではアノテーションだけをざっと見てみましょう アノテーションによりデフォルトのマッピングを変更できる 1. テーブルの構成を指定するアノテーション 2. 主キーの構成を指定するアノテーション 3. フィールドに個別の属性を指定するアノテーション 4. その他のアノテーション Copyright 2015, Oracle and/or its affiliates. All rights reserved. 41

42 2. テーブルの構成を指定するアノテーション RDB エンティティを複数の RDB テーブルに分割する 複数のクラスからひとつのエンティティを構成する Copyright 2015, Oracle and/or its affiliates. All rights reserved. 42

43 2. テーブルの構成を指定するアノテーション RDB エンティティを複数の RDB テーブルに分割する 複数のクラスからひとつのエンティティを構成する Copyright 2015, Oracle and/or its affiliates. All rights reserved. 43

44 2. テーブルの構成を指定するアノテーション RDB エンティティを複数の RDB テーブルに分割する 複数のクラスからひとつのエンティティを構成する Copyright 2015, Oracle and/or its affiliates. All rights reserved. 44

45 3. を付けたクラスのオブジェクトを主キーにする Copyright 2015, Oracle and/or its affiliates. All rights reserved. 45

46 3. を付けたクラスのオブジェクトを主キーにする Copyright 2015, Oracle and/or its affiliates. All rights reserved. 46

47 3. を付けたクラスのオブジェクトを主キーにする Copyright 2015, Oracle and/or its affiliates. All rights reserved. 47

48 3. を付けたクラスのオブジェクトを主キーにする 2 と 3 は エンティティで主キーに指定する方法が違うだけで 実質は同じ 2 の方法が簡単でよい Copyright 2015, Oracle and/or its affiliates. All rights reserved. 48

49 4. フィールドに個別の属性を指定するアノテーション フィールドに対応するテーブルカラムを指定する ファイルなど大きいデータであることを示す 列挙を名前と序数のどちらで記録するか指定 Date, Calendar 基本型の List, Set, Map を RDB に割り付ける割り付け先のテーブル名を指定する割り付け先テーブルでのキーカラム名を指定割り付け先テーブルでのカラム名を指定 データベースに保存しないフィールドを指定 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 49

50 4. フィールドに個別の属性を指定するアノテーション フィールドに対応するテーブルカラムを指定する ファイルなど大きいデータであることを示す 列挙を名前と序数のどちらで記録するか指定 Date, Calendar 基本型の List, Set, Map を RDB に割り付ける割り付け先のテーブル名を指定する割り付け先テーブルでのキーカラム名を指定割り付け先テーブルでのカラム名を指定 データベースに保存しないフィールドを指定 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 50

51 4. フィールドに個別の属性を指定するアノテーション フィールドに対応するテーブルカラムを指定する ファイルなど大きいデータであることを示す 列挙を名前と序数のどちらで記録するか指定 Date, Calendar 基本型の List, Set, Map を RDB に割り付ける割り付け先のテーブル名を指定する割り付け先テーブルでのキーカラム名を指定割り付け先テーブルでのカラム名を指定 データベースに保存しないフィールドを指定 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 51

52 4. フィールドに個別の属性を指定するアノテーション フィールドに対応するテーブルカラムを指定する ファイルなど大きいデータであることを示す 列挙を名前と序数のどちらで記録するか指定 Date, Calendar 基本型の List, Set, Map を RDB に割り付ける割り付け先のテーブル名を指定する割り付け先テーブルでのキーカラム名を指定割り付け先テーブルでのカラム名を指定 データベースに保存しないフィールドを指定 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 52

53 4. フィールドに個別の属性を指定するアノテーション フィールドに対応するテーブルカラムを指定する ファイルなど大きいデータであることを示す 列挙を名前と序数のどちらで記録するか指定 Date, Calendar 基本型の List, Set, Map を RDB に割り付ける割り付け先のテーブル名を指定する割り付け先テーブルでのキーカラム名を指定割り付け先テーブルでのカラム名を指定 データベースに保存しないフィールドを指定 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 53

54 4. フィールドに個別の属性を指定するアノテーション フィールドに対応するテーブルカラムを指定する ファイルなど大きいデータであることを示す 列挙を名前と序数のどちらで記録するか指定 Date, Calendar 基本型の List, Set, Map を RDB に割り付ける割り付け先のテーブル名を指定する割り付け先テーブルでのキーカラム名を指定割り付け先テーブルでのカラム名を指定 データベースに保存しないフィールドを指定 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 54

55 4. フィールドに個別の属性を指定するアノテーション フィールドに対応するテーブルカラムを指定する ファイルなど大きいデータであることを示す 列挙を名前と序数のどちらで記録するか指定 Date, Calendar 型の値のデータベース型を指定 基本型のList, Set, 割り付け先テーブルでのカラム名を指定 データベースに保存しないフィールドを指定 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 55

56 内容 JPAの仕組みいろいろなエンティティマッピングオブジェクト関係マッピング操作の主役はJPQL Copyright 2015, Oracle and/or its affiliates. All rights reserved. 56

57 5 つのパターン 1 One-to-One 2 One-to-Many 3 One-to-One( 双方向 ) 4 One-to-Many Many-to-One ( 双方向 ) 5 Many-to-Many ( 双方向 ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 57

58 1. One-to-One (1 対 1 の関係 ) 顧客 (ID 名前 顧客情報 ) 顧客情報 (ID 住所 電話 携帯 ) 必ず 1 対 1 に対応する Copyright 2015, Oracle and/or its affiliates. All rights reserved. 58

59 1. One-to-One (1 対 1 の関係 ) public class Customer implements Serializable private String customerid; private String name; private Information info; public class Information implements =GenerationType.AUTO) private Long id; private String address; private String phone; private String cellular; Copyright 2015, Oracle and/or its affiliates. All rights reserved. 59

60 1. One-to-One (1 対 1 の関係 ) 永続化 ( データベース ) InformationDb CustomerDb casdb; 汎用 CRUD クラスから作成したそれぞれの エンティティ用の EJB を DI で取得しておく public void write(){ データベースに保存処理 具体的な処理はここに書く Copyright 2015, Oracle and/or its affiliates. All rights reserved. 60

61 1. One-to-One (1 対 1 の関係 ) 永続化 ( データベース ) 処理 Information info1 = new Information(" 東京都 ", " ", " "); Customer c1 = new Customer("cus001", " 田中宏 ", info1); 顧客情報も忘れずに infodb.create(info1); casdb.create(c1); それぞれを DB に保存 データベースに保存 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 61

62 1. One-to-One (1 対 1 の関係 ) RDB での保存形式は次のようになる 外部キー結合 : 外部キーで関連するテーブルを結合する INFORMATION テーブルのキー Copyright 2015, Oracle and/or its affiliates. All rights reserved. 62

63 1. One-to-One (1 対 1 の関係 ) カスケード処理 Information info1 = new Information(" 東京都 ", " ", " "); Customer c1 = new Customer("cus001", " 田中宏 ", info1); infodb.create(info1); casdb.create(c1); データベースに保存 どちらか 1 つだけ保存すればよいようにしたい Copyright 2015, Oracle and/or its affiliates. All rights reserved. 63

64 1. One-to-One (1 対 1 の関係 ) public class Customer implements Serializable private String customerid; private String = {CascadeType.ALL) private Information info; DB public class Information implements =GenerationType.AUTO) private Long id; private String address; private String phone; private String cellular; Copyright 2015, Oracle and/or its affiliates. All rights reserved. 64

65 1. One-to-One (1 対 1 の関係 ) カスケード処理 Information info1 = new Information(" 東京都 ", " ", " "); Customer c1 = new Customer("cus001", " 田中宏 ", info1); casdb.create(c1); これだけで OK! データベースに保存 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 65

66 1. One-to-One (1 対 1 の関係 ) カスケード処理 カスケード指定 カスケードするイベント 対応するメソッド CascadeType.PERSIST 新規保存 persist CascadeType.MERGE 更新 merge CascadeType.REMOVE 削除 remove CascadeType.REFRESH 永続性コンテキストのエンティティをデータベースから再取得した値で更新 refresh CascadeType.DETACH 永続性コンテキストからエンティティを分離する detach CascadeType.ALL 上記のすべての操作 使用例 = {CascadeType.PERSIST, CascadeType.REMOVE) ALL 以外では 必要なものだけを指定できる Copyright 2015, Oracle and/or its affiliates. All rights reserved. 66

67 1. One-to-One (1 対 1 の関係 ) 要点 1 DB を付ける Copyright 2015, Oracle and/or its affiliates. All rights reserved.

68 5 つのパターン 1 One-to-One 2 One-to-Many 3 One-to-One( 双方向 ) 4 One-to-Many Many-to-One ( 双方向 ) 5 Many-to-Many ( 双方向 ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 68

69 2. One-to-Many (1 対多の関係 ) 注文 (ID 顧客 注文明細 ) 1 つの注文に複数の注文明細が対応する 注文明細 (ID 品名 数量 日付 ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 69

70 2. One-to-Many (1 対多の関係 ) public class Cart implements = GenerationType.AUTO) private Long cartid; private String customer; private List<OrderLine> orderlines; これで OK ですが public class OrderLine implements = GenerationType.AUTO) private Long orderlineid; private String item; private int private Date orderdate; Copyright 2015, Oracle and/or its affiliates. All rights reserved. 70

71 2. One-to-Many (1 対多の関係 ) public class Cart implements = GenerationType.AUTO) private Long cartid; private String = {CascadeType.ALL) private List<OrderLine> cascade は DB public class OrderLine implements = GenerationType.AUTO) private Long orderlineid; private String item; private int private Date orderdate; Copyright 2015, Oracle and/or its affiliates. All rights reserved. 71

72 2. One-to-Many (1 対多の関係 ) 要点 1 DB 操作を実行する方に Copyright 2015, Oracle and/or its affiliates. All rights reserved.

73 5 つのパターン 1 One-to-One 2 One-to-Many 3 One-to-One( 双方向 ) 4 One-to-Many Many-to-One ( 双方向 ) 5 Many-to-Many ( 双方向 ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 73

74 3. One-to-One (1 対 1 の関係 ) + 双方向 顧客 (ID 名前 顧客情報 ) 顧客情報 (ID 住所 電話 携帯 ) 必ず 1 対 1 に対応するが 双方が互いの参照を持ち合う関係 ( 双方向 ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 74

75 1. One-to-One (1 対 1 の関係 ) + 双方向 エンティティの定義 public class Customer implements Serializable private String customerid; private String = {CascadeType.ALL) private Information info; public class Information implements =GenerationType.AUTO) private Long id; private String address; private String phone; private String info ) private Customer customer; 1 方向の関係が 2 つにならないように どちらかに mappedby を指定する Copyright 2015, Oracle and/or its affiliates. All rights reserved. 75

76 3. One-to-One (1 対 1 の関係 ) + 双方向 要点 1 DB を付ける 2 を付ける付けた方は< 関係の被所有者 > 相手方は< 関係の所有者 > Copyright 2015, Oracle and/or its affiliates. All rights reserved.

77 5 つのパターン 1 One-to-One 2 One-to-Many 3 One-to-One( 双方向 ) 4 One-to-Many Many-to-One ( 双方向 ) 5 Many-to-Many ( 双方向 ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 77

78 4. One-to-Many と Many-to-One の双方向 注文 (ID 顧客 注文明細 ) 注文明細 (ID 品名 数量 日付 ) 1 つの注文に複数の注文明細が対応する 注文明細からもどの注文に属するかわかる ( 双方向 ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 78

79 4. One-to-Many と Many-to-One の双方向 関係の被所有者 =One-to-Many 側 public class Cart implements = GenerationType.AUTO) private Long cartid; private String cart, cascade= {CascadeType.ALL) private List<OrderLine> orderlines; One-To-Many 側に mappedby を付ける 関係の所有者 =Many-to-One public class OrderLine implements = GenerationType.AUTO) private Long orderlineid; private String item; private int private Date orderdate; private Cart cart; Copyright 2015, Oracle and/or its affiliates. All rights reserved. 79

80 4. One-to-Many と Many-to-One の双方向 要点 1 DB 操作を実行する方に カスケード指定を付ける 2 One-to-Many を付ける Copyright 2015, Oracle and/or its affiliates. All rights reserved.

81 5 つのパターン 1 One-to-One 2 One-to-Many 3 One-to-One( 双方向 ) 4 One-to-Many Many-to-One ( 双方向 ) 5 Many-to-Many ( 双方向 ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 81

82 5. Many-to-Many 双方向 (1 方向はない ) 俳優 = 多くの映画に出演 (ID 顧客 映画のリスト ) 映画 = 多くの俳優が出演 (ID タイトル 出演俳優のリスト ) それぞれが 相手の多数と関係がある ( 多対多 双方向 ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 82

83 5. Many-to-Many 双方向 (1 方向はない ) public class Actor implements = GenerationType.AUTO) private Long id; private String ) private List<Movie> public class Movie implements = GenerationType.AUTO) private Long id; private String title; private List<Actor> actors; 2 つの 1 対多関係とならないように どちらかに mappedby を付ける ( どちらでもよい ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 83

84 5. Many-to-Many 双方向 (1 方向はない ) 要点 1 ) を付ける エンティティの両方に カスケード指定 cascade={cascadetype.persist を付けないと 保存できないという問題がありました 詳細は を参照 Copyright 2015, Oracle and/or its affiliates. All rights reserved.

85 内容 JPAの仕組みいろいろなエンティティマッピングオブジェクト関係マッピング操作の主役はJPQL Copyright 2015, Oracle and/or its affiliates. All rights reserved. 85

86 1. JPQL(Java Persistence Query Language) の位置付け 問い合わせの方法特徴 JPQL Native Query Criteria API SQL と似ているどの DB 製品でも共通の命令を使えるオブジェクト指向 (Java の変数名 自動的な JOIN) SQL をそのまま適用 JPQL と同等の問い合わせをプログラムできる動的にクエリを組み立てることができる型チェックが働くので間違いが減る記述は面倒 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 86

87 1. JPQL(Java Persistence Query Language) の位置付け この章で対象とするエンティティ (One-to-Many 双方向 ) 注文 (ID 顧客 注文明細 ) 注文明細 (ID 品名 数量 日付 ) Copyright 2015, Oracle and/or its affiliates. All rights reserved. 87

88 2. JPQL の文法 (1/5) select c from Cart c select c from Cart c where c.customer = 田中 クエリの基本形 c はエンティティの別名 ( エイリアス ) select 句にエイリアスを指定すると 全件を取得する意味になる where 句などでは エイリアスのプロパティ ( フィールド名 ) を使って記述する 演算子 備考 = c.name= 山田 ' >, >= c.price>1000 <, <= c.price<=500 <> c.price <> 1000 BETWEEN c.price BETWEEN 100 and 1000 演算子 LIKE IN IS NULL IS EMPTY AND OR NOT () 備考 文字列の一致を検査する () 内のリストに該当があるか Copyright 2015, Oracle and/or its affiliates. All rights reserved. 88

89 2. JPQL の文法 (2/5) Customer の値は Cart テーブルから取り出している select o from OrderLine o where o.cart.customer = ' 田中宏 ' 関係のあるエンティティでは自動的に JOIN が働く本来なら join を使って次のように書くところ select o from OrderLine o join Cart c on o.cart.cartid = c.cartid where o.cart.customer = ' 田中宏 ' select count(c) from Cart c where c.customer = 田中 select o.item, max(o.quantity) from OrderLine o 集計関数も使える全ての関数は次の URL にマニュアルがある Copyright 2015, Oracle and/or its affiliates. All rights reserved. 89

90 2. JPQL の文法 (3/5) 顧客ごとの 顧客名と注文の件数を得る Object[] array = select c.customer, count(c) from OrderLine o join Cart c on o.cart = c group by c エンティティ以外の結果は Object[] 型になり キャストが必要で記述が面倒 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 90

91 2. JPQL の文法 (3/5) コンストラクタで受ける List<Sum> ls = select new beans.sum(c.customer, count(c)) from OrderLine o join Cart c on o.cart = c group by c エンティティ以外の結果は Object[] 型になり キャストが必要で記述が面倒 結果をマップするクラスを作成しておいて そのオブジェクトに受け取ると便利 package bean; public class Sum{ private String name; private long count; public Sum(String name, long count){ this.name = name; this.count = count; // セッター ゲッター等 エンティティでなく 普通の クラスでよい List<Sum> で結果を受け取れる Copyright 2015, Oracle and/or its affiliates. All rights reserved. 91

92 2. JPQL の文法 (4/5) One-to-Many は遅延フェッチ (LAZY) がデフォルト select distinct c from Cart c join fetch c.orderlines Cart とその OrderLine( 複数 ) を一度に取得する SQL を生成する One-to-Many の関係での N+1 問題 (=Cart から全データを取得すると Cart エンティごとに Orderline エンティを取得する SQL が生成される ) に対応する書き方 select c from Cart c Cart を取得 Cart が持つ OrderLine を取得 select distinct c from Cart c join fetch c.orderlines SQL がひとつだけになった Copyright 2015, Oracle and/or its affiliates. All rights reserved. 92

93 JPQL 実行時に 実行された SQL ログを取る設定 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 93

94 2. JPQL の文法 (5/5) update OrderLine o set o. quantity = 10 where o.cart.customer = 田中宏 エンティティの一括更新 delete from OrderLine o where o. orderdate = エンティティの一括削除 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 94

95 3. JPQL の実行方法 JPQL の実行方法の種類 動的クエリ JPQL をそのまま実行する ( 簡単だが効率はよくない ) 名前付きクエリ エンティティの中に JPQL public class private EntityManager em; List<Cart> getcartall(){ JPQL を実行 ( ここでは Cart の全件検索処理 ) EJB のクラスを作成して その中で JPQL を実行する Copyright 2015, Oracle and/or its affiliates. All rights reserved. 95

96 4. OrderLine.ALL, query="select o from OrderLine o where o.item= query="select o FROM OrderLine o order by o.quantity desc") = "ORDERLINE_TBL") public class OrderLine implements Serializable { desc( 降順 ) asc( 昇順 ) public static final String ALL = "ALL"; asc が既定値 public static final String ALL_DESC = GenerationType.AUTO) private Long orderlineid; エラーになるので分かる パラメータ 名前をエンティティクラスの static 変数にしておく EJB のプログラムで名前を書き間違うと コンパイル 値は実行時にセットできる Copyright 2015, Oracle and/or its affiliates. All rights reserved. 96

97 5. EJB を作成 ( 実行メソッドの作成 public class MyDbOperation private EntityManager em; public List<OrderLine> orderlines(string item){ TypedQuery<OrderLine> q = em.createnamedquery(orderline.all,orderline.class); q.setparameter("itemname", item); return q.getresultlist(); "select o from OrderLine o where o.item= :itemname" JPQL 文字列 クラス型 return em.createnamedquery(orderline.all,orderline.class).setparameter("itemname", " ビール ").getresultlist(); メソッドチェーン可能 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 97

98 5. EJB を作成 ( 実行メソッドの作成 public class MyDbOperation private EntityManager em; public List<OrderLine> orderlines(string item, int s, int n){ return em.createnamedquery(orderline.all,orderline.class).setparameter("itemname", " ビール ").setfirstresult(s).setmaxresult(n).getresultlist(); s 件目から読み込む 最高 n 件だけ読み込む ページ制御ができる Copyright 2015, Oracle and/or its affiliates. All rights reserved. 98

99 6. MyDbOperation dao; public List<OrderLine> getorderline(){ return dao.orderlines(" ビール "); バッキングビーンでは EJB を DI で取得し クエリを実行して ウェブに結果を表示 できる JavaEE で作成したサンプルプログラムを試せます Copyright 2015, Oracle and/or its affiliates. All rights reserved. 99

100

101 Copyright 2015, Oracle and/or its affiliates. All rights reserved. 101

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

Microsoft Word - Android_SQLite講座_画面800×1280 Page 24 11 SQLite の概要 Android にはリレーショナルデータベースである SQLite が標準で掲載されています リレーショナルデータベースは データを表の形で扱うことができるデータベースです リレーショナルデータベースには SQL と呼ばれる言語によって簡単にデータの操作や問い合わせができようになっています SQLite は クライアントサーバ形式ではなく端末の中で処理が完結します

More information

JPA & Kuina-Dao入門

JPA & Kuina-Dao入門 2007 Autumn JPA & Kuina-Dao 入門 2007.11.11 The Seasar Project 中村年宏 (taedium) 1 自己紹介 中村年宏 ブログ http://d.hatena.ne.jp/taedium/ hatena ne メールアドレス toshihiro.nakamura@gmail.com コミッタとして関わっているプロダクト S2Container

More information

S2DaoでもN:Nできます

S2DaoでもN:Nできます S2Dao でも N:N できます 1 自己紹介 名前 : 木村聡 ( きむらさとし ) Seasarプロジェクトコミッタ : S2Struts S2Mai 舞姫 仕事 ( 株 ) フルネス フレームワーク 自動生成ツール 2 これまで書いたものとか 書籍 : Eclipse で学ぶはじめての Java Seasar 入門 ~ はじめての DI&AOP~ 雑誌 Web 記事 CodeZine DB

More information

ORACLE FUSION MIDDLEWARE Tech Topic Meeting

ORACLE FUSION MIDDLEWARE  Tech Topic Meeting Java Persistence 2.0 と EclipseLink について 日本オラクル株式会社 Agenda Java Persistence API(JPA) DB アクセス技術の変遷 JPA 概要 JPA アーキテクチャ EclipseLink EclipseLink JPA 拡張機能 Java Persistence 2.0 Oracle TopLink

More information

Microsoft PowerPoint - sc2007spring_Aa1_Kuina.ppt

Microsoft PowerPoint - sc2007spring_Aa1_Kuina.ppt 2007 Spring Kuina-Dao 入門 2007.05.27 中村年宏 2007 Spring Copyright 2004-2007 The Seasar Foundation and the others. All rights reserved. 1 自己紹介 名前 : 中村年宏 ブログ :http://d.hatena.ne.jp/taedium/ コミッタとして参加しているプロジェクト

More information

Microsoft PowerPoint pptx

Microsoft PowerPoint pptx データベース 第 11 回 (2009 年 11 月 27 日 ) テーブル結合と集計 ( 演習 ) 第 11 回のテーマ 前回より シラバスから離れ 進捗状況に合わせて全体構成を変更しています テーマ1: テーブルの結合 テーマ 2: 結合した結果からの様々な検索 テーマ3: 集計の方法 今日学ぶべきことがら Select 文のさまざまな表現 Natural join sum(*) orrder

More information

標準化 補足資料

標準化 補足資料 高度専門データベース技術 SQL99 補足資料 ( 株 ) アイテック情報技術教育研究部 2012 年 2 月 14 日 ( はじめに ) この補足資料は,SQL99(ISO/IEC9075-2,JIS X3005-2) の必須機能 (Core SQL) のうち, SQL92に対し機能拡張が行われた部分で, 高度専門データベース技術 ( 以下, DB 技術 という ) に記載のないものについて記述する

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

How to Use the PowerPoint Template

How to Use the PowerPoint Template 使ってみよう JPA 2.x 日本オラクル株式会社オラクルユニバーシティ研修部シニアマネージャ平賀博司 Java Day Tokyo 2015 2015 年 4 月 8 日 以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント

More information

Seasar.NET入門

Seasar.NET入門 2007 Spring Seasar.NET 入門 2007.5.27 Seasar.NET 杉本和也 2007 Spring Copyright 2004-2007 The Seasar Foundation and the others. All rights reserved. 1 杉本和也と申します 高知県の株式会社アイビスに勤務しています プログラミング歴 6 年 オープンソース歴 2 年

More information

Microsoft PowerPoint - db03-5.ppt

Microsoft PowerPoint - db03-5.ppt データベース言語 SQL リレーショナルデータモデルにおけるデータ操作言語 : リレーショナル代数 少なくともリレーショナル代数と同等のデータ検索能力をもつときリレーショナル完備という. リレーショナル代数はユーザフレンドリではない. 自然な英文による質問の表現が必要になる. リレーショナルデータベース言語 SQL 英文による簡単な構文 リレーショナル代数でできない, 合計, 平均, 最大などの計算機能の組み込み.

More information

GEC-Java

GEC-Java Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1 プログラミング初級 (Java) 第 14 回継承 白銀純子 第 14 回の内容 継承 オーバーライド ポリモーフィズム Copyright (C) Junko Shirogane, Waseda University 2019, All rights

More information

WebOTXマニュアル

WebOTXマニュアル WebOTX アプリケーション開発ガイド WebOTX アプリケーション開発ガイドバージョン : 7.1 版数 : 初版リリース : 2007 年 7 月 Copyright (C) 1998-2007 NEC Corporation. All rights reserved. 付録 4-2-1 目次 4. プログラミング 開発 (WebOTX)...3 4.2. EJBアプリケーション...3 4.2.1.

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 5 月 Java 基礎 1 タイトル Java 基礎 2 日間 概要 目的 サーバサイドのプログラミング言語で最もシェアの高い Java SE の基本を習得します 当研修ではひとつの技術ごとに実用的なアプリケーションを作成するため 効果的な学習ができます Java SE の多くの API の中で 仕事でよく利用するものを中心に効率よく学びます 実際の業務で最も利用される開発環境である Eclipse

More information

早分かりS2Dao

早分かりS2Dao 2008 Spring 早分かり S2Dao Seasar プロジェクトコミッタ ( 株 ) エルテックス 大中浩行 2008 Spring Copyright 2004-2008 The Seasar Foundation and the others. All rights reserved. 1 アジェンダ はじめに S2Dao とは? S2Dao に必要なもの S2Dao を動かしてみる 挿入

More information

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版   Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です

More information

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく

More information

V8.1新規機能紹介記事

V8.1新規機能紹介記事 WebOTX V8.1 新規機能 EJB 3.0 WebOTX V8.1より Java EE 5(Java Platform, Enterprise Edition 5) に対応しました これによりいろいろな機能追加が行われていますが 特に大きな変更であるEJB 3.0 対応についてご紹介いたします なお WebOTX V7で対応したEJB 2.1についてもWebOTX V8.1で引き続き利用することが可能です

More information

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String 目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()

More information

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作 Access 2007 と SQL Server Express を使用 SQL 文は SQL Server 主体で解説 Access 版ノースウィンドウデータベースを使用 DBMS プログラム サーバーエクスプローラ SQL 文 実行結果 データベース エンジン データベース SQL 文とは 1 度のコマンドで必要なデータを効率よく取得するための技術といえます

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN

More information

Exam : J Title : Querying Microsoft SQL Server 2012 Version : DEMO 1 / 10

Exam : J Title : Querying Microsoft SQL Server 2012 Version : DEMO 1 / 10 PASSEXAM http://www.passexam.jp Exam : 70-461J Title : Querying Microsoft SQL Server 2012 Version : DEMO 1 / 10 1. あなたが ContosoDb 付きの Microsoft SQL Server 2012 のデータベースを管理します 展示に示すように テーブルが定義されています ( 図表ボタンをクリックします

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション データベースシステム入門 7. 集計, 集約 1 リレーショナルデータベースシステム コンピュータ リレーショナルデータベース管理システム 記憶装置 リレーショナルデータベース あわせてリレーショナルデータベースシステム データの種類ごとに分かれた たくさんのテーブルが格納される 2 SQL をマスターするには SQL のキーワード create table テーブル定義 select 射影など from

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public

More information

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

コンピュータ中級B ~Javaプログラミング~  第3回 コンピュータと情報をやりとりするには? Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 1 プログラミング初級 (Java) 第 10 回オブジェクト指向って? 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 2 第 10

More information

SQLite データベース IS04 組み込み 1

SQLite データベース IS04 組み込み 1 SQLite データベース IS04 組み込み 1 SQLite データベースは ファイルベースで SQL を実行することができる軽量データベースです データベース1つにつき 1 ファイルで管理し この中に複数のテーブルを持つことができます このファイルをアクセスするための実行ファイルをダウンロードするだけという手軽さです リレーショナルとは 複数のテーブルを関連するフィールドで結合して 大きな表があるように振舞わせるものです

More information

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

第 1 章 条件分岐 この章では 条件に応じて処理を分岐する方法について説明します 1. CASE 式で複雑な条件分岐を実現 2. 関数を使用した条件分岐 3. MERGE 文による条件に応じた DML の実行 はじめに コース概要と目的 SQL での作業の幅を広げるための応用的なテクニックをご説明します また 効率性の向上や正しい結果を得 るための記述方法など 実践的な記述方法についても併せてご説明します 本コースは SQL の応用的な記述テクニックとしてどのようなものがあるかを 1 日で広く浅くご理解いた だくことを目的としたコースです 細かな構文やオプションの習得は目的としておりませんことをご了承 ください

More information

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索 eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索する 違うデータに変更する 要らなくなったデータを削除する 各システムごとに障害対策も含めて 正確にこのようなデータ処理のプログラムを作ることは大変なことです

More information

Microsoft Word - tutorial3-dbreverse.docx

Microsoft Word - tutorial3-dbreverse.docx 株式会社チェンジビジョン使用バージョン :astah* 6.0, 6.1 [ ] サンプル サポート対象外 目次 DB リバースを使ってみよう ( サンプル サポート対象外 ) 2 ご利用の前に 2 予備知識 2 データベースの環境設定をしてみよう 2 astah* データベースリバースコンポーネントを使用してみよう 5 作成した asta ファイルを astah* professional で開いてみよう

More information

Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt

Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt 開発編第 5 章補足 DB2 組み込み SQL 本書に含まれている情報は 正式な IBM のテストを受けていません また 明記にしろ 暗黙的にしろ なんらの保証もなしに配布されるものです この情報の使用またはこれらの技術の実施は いずれも 使用先の責任において行われるべきものであり それらを評価し 実際に使用する環境に統合する使用先の判断に依存しています それぞれの項目は

More information

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

Javaセキュアコーディングセミナー2013東京第1回 演習の解説 Java セキュアコーディングセミナー東京 第 1 回オブジェクトの生成とセキュリティ 演習の解説 2012 年 9 月 9 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 演習 [1] 2 演習 [1] class Dog { public static void bark() { System.out.print("woof"); class Bulldog

More information

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

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介 Dolteng Scaffold に対する機能追加 とマスタ - ディテール Scaffold の紹介 せいいち (takao) 2009/03/07 目次 Dolteng Scaffold に対する機能追加 Scaffold に関して Ruby on Rails の Scaffold RoR Scaffold と Dolteng Scaffold の比較 Scaffold のデモ Scaffold

More information

モデリング操作ガイド (データベースモデリング編)

モデリング操作ガイド (データベースモデリング編) Tutorial by SparxSystems Japan Enterprise Architect 日本語版 (2019/08/22 最終更新 ) 目次 1. はじめに... 3 2. データベース設計のモデリング... 4 2.1. テーブル要素の作成... 5 2.2. テーブルの定義... 7 2.3. 列の定義... 7 2.4. テーブル間の関係の定義... 9 3. データベース設計のモデリングでの便利なテクニック

More information

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

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid(text_box02_id); if (001 == statee 全体のヒント 1. テキストボックスの制御 1.1. 日付入力日付の入力ボックスは フォーカスが入った時にスラッショを消し フォーカスが他の項目等に移るとスラッシュが加わるようにする オンフォーカス 20100101 オフフォーカス 2010/01/01 1.1.1 オンフォーカス時にスラッシュを消す入力項目のスラッシュを消すには include/function.js ファイル内の var delslash

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

データベースアクセス

データベースアクセス データベースアクセスコンポーネント 1. 概要 データベースアクセスコンポーネントとは SQL データベースにアクセスして SQL 文を実行することによりデータベース検索を行う機能を提供するコンポーネントです また データベースアクセスコンポーネントでは データベースの構成情報 接続情報 エラー情報等を取得することも可能です データベースアクセスコンポーネントは アプリケーションビルダーのメニューから以下のように選びます

More information

第2回講義

第2回講義 オブジェクト指向概論 第 2 講 クラスとカプセル化 立命館大学 情報理工学部 黄宏軒 1 オブジェクト指向の重要な概念 n クラス q 同じようなオブジェクトを まとめて 考える n 継承 ( インヘリタンス ) q 複数のクラスの 共通部分をまとめる n ポリモーフィズム ( 多態性 ) q 呼び出す側を 共通化 する n 複雑なものを簡単に 2 2.1 クラスとは何か n 類似のオブジェクトを

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 2 回クラス インスタンス メソッド コンストラクタ 先週の出席確認 Webブラウザはどのようなプログラムでできているかこの問に答える前に Webブラウザとは 何か? 普段使ってますよね? Webブラウザを使ってできることと Webブラウザがやっていることを区別する必要がある 何をすれば Web ブラウザ と言えるのか NHK チコちゃんに叱られる! Web

More information

Java知識テスト問題

Java知識テスト問題 Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください

More information

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

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説 Java セキュアコーディングセミナー東京第 3 回入出力と例外時の動作 演習解説 2012 年 11 月 11 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 Hands-on Exercises コンパイルエラーに対処しよう ファイルからのデータ入力を実装しよう 2 Hands-on Exercise(1) サンプルコードの コンパイルエラーに対処しよう 3

More information

GEC-Java

GEC-Java プログラミング初級 (Java) 第 11 回オブジェクト指向って? 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2018, All rights reserved. 1 第 11 回の内容 プログラミングの種類 オブジェクト指向とは? Copyright (C) Junko Shirogane, Waseda University 2018,

More information

APEX Spreadsheet ATP HOL JA - Read-Only

APEX Spreadsheet ATP HOL JA  -  Read-Only Oracle APEX ハンズオン ラボ スプレッドシートからアプリケーションを作成 Oracle Autonomous Cloud Service 用 2019 年 7 月 (v19.1.3) Copyright 2018, Oracle and/or its affiliates. All rights reserved. 2 概要 このラボでは スプレッドシートを Oracle データベース表にアップロードし

More information

tkk0408nari

tkk0408nari SQLStatement Class Sql Database SQL Structured Query Language( ) ISO JIS http://www.techscore.com/tech/sql/02_02.html Database sql Perl Java SQL ( ) create table tu_data ( id integer not null, -- id aid

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 基本 Java プログラミング演習 第 13 回 担当 : 植村 今後の予定 7/15 第 13 回 今回 7/22 第 14 回 小テスト ( クラス ) 7/29 第 15 回 総まとめテスト レポート提出 期末テストの時間割に Java のテストの欄がありますが無視してください 再テストはまた別途連絡いたします 2 CHAPTER 11 はじめてのクラス前回の復習 クラスクラスを構成する要素

More information

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

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター はじめに コース概要と目的 データベース処理に使用する SQL の基本構文と使用方法について説明します 受講対象者 SQL を使用してアプリケーション開発される方 管理者となられる方 前提条件 Oracle 概要 コースを受講された方 もしくは同等の知識をお持ちの方 テキスト内の記述について 構文 [ ] 省略可能 { A B } A または B のどちらかを選択 n _ 数値の指定 デフォルト値

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

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

ValueHolder... 9 Customer.java Oracle TopLink 10g(10.1.3) È Volume3 2 lê~åäé= qçéiáåâ= NMÖENMKNKPF Volume3 Creation Date: Mar 04, 2005 Last Update: Aug 23, 2005 Version 1.0 ...3... 3...4... 4... 6 ValueHolder... 9 Customer.java... 10...14 Oracle TopLink 10g(10.1.3) È Volume3

More information

intra-mart im-JavaEE Framework

intra-mart im-JavaEE Framework intra-mart im-javaee Framework Version 6.1 Seasar2 連携ガイド 第四版 2008 年 5 月 30 日 > 変更年月日変更内容 2007/7/31 初版 2007/8/31 第二版 2.1.1 jta.diconの設定誤字 脱字の修正 2007/10/19 第三版 2.1.1.3 UserTransactionの設定を追加 2008/5/30

More information

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

Microsoft認定資格問題集(70-483_demo) Microsoft 認定資格問題集 受験番号 : 70-483 受験名 : C# でのプログラミング言語 : 日本語問題数 :179 問 テストバリュー (TESTVALUE) はこの日本語版問題集の著作権を所有します 問題集の他人への展開 譲渡 転売 複製 転載等の無断行為は法律上で禁止されています 違反が発覚した場合 法的措置を取らせて頂きますので 予めご了承ください 問題 1 Orderオブジェクトのコレクションがあります

More information

クエリの作成が楽になるUDF

クエリの作成が楽になるUDF トレジャーデータサービス by IDCF 活用マニュアル 目次 (1) UDF の概要 概要 特長 P1 [ 日付を選択 ] (2) UDF の紹介 TIME 関連 UDF 1 TD_TIME_FORMAT P2 2 TD_TIME_RANGE 3 TD_SCHEDULED_TIME 4 TD_TIME_ADD 5 TD_TIME_PARSE 6 TD_DATE_TRUNC その他 UDF 7 TD_SESSIONIZE

More information

JAVA とテンプレート

JAVA とテンプレート JAVA とテンプレート 序論 : コンテナ 他のクラスのオブジェクトを保存するものをコンテナ (Container) と呼ぶ 集合 リスト 表 コンテナに求められる機能 追加 削除 参照 要素の比較 並べ替え 要素のクラスが不明では 比較できない 要素が想定しているクラスのものかの判定 テンプレート以前の対応方法 コンテナ設計時に 保存されるクラスを特定してコンテナをコードする 保存されるクラスごとに作成しなければならない

More information

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

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第7版   None クイック検索検索 目次 Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 改訂情報概要レコードの追加 / 更新 / 削除レコードの編集レコードを削除するレコードの一括インポートとエクスポート日本語のキャプション表示 2 改訂情報 変更年月日 変更内容 2012-10-01 初版 2013-10-01 第 2 版下記が追加 変更されました 対応するフィールドの型

More information

テーブルの確認 sqlite>.tables.tables コマンドでデータベース内のテーブル一覧を表示する テーブルスキーマの表示 sqlite>.schema mytable.schema コマンドで指定のテーブルのスキーマを表示できる テーブル出力の整形.explain コマンドを使うと テー

テーブルの確認 sqlite>.tables.tables コマンドでデータベース内のテーブル一覧を表示する テーブルスキーマの表示 sqlite>.schema mytable.schema コマンドで指定のテーブルのスキーマを表示できる テーブル出力の整形.explain コマンドを使うと テー Sqlite 関連コマンド紹介 adb shell コマンド 現在 どのディレクトリに居るかは pwd コマンドでわかります pwd 次に今いるディレクトリ上にどんなファイル ディレクトリ一覧があるかを知るために ls コマンドを実行します ls ディレクトリへの移動は cd コマンドを実行します cd フォルダ ( ディレクトリ ) 名 tmp ディレクトリを作ってみます ディレクトリ作成は mkdir

More information

Prog2_12th

Prog2_12th 2018 年 12 月 13 日 ( 木 ) 実施クラスの継承オブジェクト指向プログラミングの基本的な属性として, 親クラスのメンバを再利用, 拡張, または変更する子クラスを定義することが出来る メンバの再利用を継承と呼び, 継承元となるクラスを基底クラスと呼ぶ また, 基底クラスのメンバを継承するクラスを, 派生クラスと呼ぶ なお, メンバの中でコンストラクタは継承されない C# 言語では,Java

More information

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド Brekeke PBX Version 2.1 ARS プラグイン開発ガイド Brekeke Software, Inc. バージョン Brekeke PBX v2.1 ARS プラグイン開発ガイド, 2008 年 2 月 著作権本書の著作権は Brekeke Software, Inc. にあります Copyright 2003-2008 Brekeke Software, Inc. 本書の一部または全部を

More information

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

1,.,,,., RDBM, SQL. OSS,, SQL,,. 1,.,,,., RDBM, SQL. OSS,, SQL,,. 3 10 10 OSS RDBMS SQL 11 10.1 OSS RDBMS............................ 11 10.1.1 PostgreSQL................................. 11 10.1.2 MySQL...................................

More information

Chapter Two

Chapter Two Database 第 8 回 :SQL 言語 ( データベース操作 ) 上智大学理工学部情報理工学科 高岡詠子 No reproduction or republication without written permission. 許可のない転載 再発行を禁止します 1 Schedule 日程 内容 第 1 回 10 月 6 日 ガイダンス, データベースとは? 第 2 回 10 月 13 日 三層スキーマ,

More information

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

Microsoft Word - Lab5d-DB2組み込みSQL.doc [Lab 5d] DB2 でのアプリケーション開発 ( 組み込み SQL) 2011 年 06 月日本アイ ビー エム株式会社 Contents CONTENTS...2 1. はじめに...3 2. 内容...3 3. DB2 組み込み SQL への移行...3 3.1 準備...4 3.2 エラー処理用プログラムに関する処理...5 3.3 メインプログラムに関する処理...7 3.4 実行プログラムの生成...11

More information

第1章 ビジュアルプログラミング入門

第1章 ビジュアルプログラミング入門 付録 A 既存のクラスの利用の仕方 第 7 章では フレームクラス (NewJFrame.java) とそこから呼び出されるクラス (Meibo.java など ) を同じプロジェクト内 つまり同じパッケージ内に定義しました しかし 一般には 別のパッケージ ( フォルダ ) に保管されているクラスを利用する場合があります ここでは その方法を説明します なお フォルダは Java の用語ではパッケージに対応するので

More information

文字列操作と正規表現

文字列操作と正規表現 文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性

More information

Prog1_15th

Prog1_15th 2017 年 7 月 27 日 ( 木 ) 実施 応用プログラム (3) キー検索 コレクションには, ハッシュテーブルと呼ばれるものがある これは, キー (key) と値 (value) とを組として保持しているものである 通常の配列が添字により各要素にアクセス出来るのに比べて, ハッシュテーブルではキーを用いて各値にアクセスすることが出来る キー及びそのキーから連想される値の組を保持していることから,

More information

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1 リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1 データベース とは? データ (Data) の基地 (Base) 実世界のデータを管理するいれもの 例えば 電話帳辞書メーラー検索エンジン もデータベースである Copyright 2008 SRA OSS, Inc.

More information

WEBシステムのセキュリティ技術

WEBシステムのセキュリティ技術 EJB (Enterprise Java Beans) 棚橋沙弥香 テーマ選定の背景 現在携わっている Java 開発案件で EJB が使われておりますが 私自身が EJB を扱うのが初めてで知らない技術でしたので 勉強してみたいと思い 今回はこのテーマを選定しました 目次 EJBとは 1 EJBの利点 2 EJBの歴史 3 EJBの開発環境の作成 4 5 Enterprise Bean 6 非同期処理の実装

More information

Microsoft Word - NonGenList.doc

Microsoft Word - NonGenList.doc ジェネリクスとコンパレータを使用しないリストのプログラム例 1. ポインタによる線形リスト LinkedListNG.java: ポインタによる線形リストのクラス LinkedListNG LinkedListTesterNG.java: LinkedListNG を利用するプログラム例 2. カーソルによる線形リスト AryLinkedListNG.java: カーソルによる線形リストのクラス AryLinkedListNG

More information

日本語版目次 アーキテクチャに関するパターン : P035 振る舞いに関する問題 : P040 データの読み込み : P042 構造的なマッピングに関するパターン : P043 関係のマッピング : P043 継承 : P047 マッピングの構築 : P050 2 重のマッピング : P051 メタ

日本語版目次 アーキテクチャに関するパターン : P035 振る舞いに関する問題 : P040 データの読み込み : P042 構造的なマッピングに関するパターン : P043 関係のマッピング : P043 継承 : P047 マッピングの構築 : P050 2 重のマッピング : P051 メタ Pattern of Enterprise Application Architecture Chapter 3 リレーショナルデータベースへのマッピング WR WR at Csus4.net http://www.csus4.net/d/ 日本語版目次 アーキテクチャに関するパターン : P035 振る舞いに関する問題 : P040 データの読み込み : P042 構造的なマッピングに関するパターン

More information

GEC-Java

GEC-Java プログラミング初級 (Java) 第 12 回メッセージのやりとり 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2018, All rights reserved. 1 第 12 回の内容 メッセージのやりとり Copyright (C) Junko Shirogane, Waseda University 2018, All rights

More information

データベースS

データベースS データベース S 第 4 回データベース言語 SQL(1) システム創成情報工学科尾下真樹 2018 年度 Q2 今日の内容 前回の復習 SQLの概要 SQLによる問い合わせの記述方法 SQLの基本的な書き方 条件 (WHERE) の書き方 出力 (SELECT) の書き方 順序付け (ORDER BY) グループ表 (GROUP BY) 教科書 リレーショナルデータベース入門 [ 第 3 版 ]

More information

ゲートウェイのファイル形式

ゲートウェイのファイル形式 この章では Cisco Unified Communications Manager 一括管理 BAT を使用して シスコのゲー トウェイのファイル形式を Cisco Unified Communications Manager データベースに一括して設定す る方法について説明します の検索, 1 ページ の設定, 2 ページ ファイル形式と CSV データ ファイルの関連付け, 5 ページ の検索

More information

ユーザ デバイス プロファイルの ファイル形式

ユーザ デバイス プロファイルの ファイル形式 CHAPTER 34 CSV データファイルの作成にテキストエディタを使用する場合 デバイスフィールドと回線フィールドを CSV データファイル内で識別するファイル形式を使用する必要があります このファイル形式には次のオプションがあります Default User Device Profile: ユーザデバイスプロファイルのデバイスフィールドと回線フィールドの事前決定済みの組み合せを含む Simple

More information

intra-mart Accel Platform

intra-mart Accel Platform セットアップガイド (WebSphere 編 ) 第 4 版 2014-01-01 1 目次 intra-mart Accel Platform 改訂情報 はじめに 本書の目的 前提条件 対象読者 各種インストール 設定変更 intra-mart Accel Platform 構成ファイルの作成 WebSphereの設定 Java VM 引数の設定 トランザクション タイムアウトの設定 データベース接続の設定

More information

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

TopLink å SampleClient.java... 5 Ò readallsample() querysample() cachesample() Ç.. lê~åäé= qçéiáåâ= NMÖENMKNKPF Volume2 Creation Date: Mar 04, 2005 Last Update: Aug 22, 2005 Version 1.0 ...3... 3 TopLink å...4 1... 4... 4 SampleClient.java... 5 Ò... 8... 9... 10 readallsample()... 11

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

More information

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None クイック検索検索 目次 Copyright 2013 NTT DATA INTRAMART CORPORATION 1 Top 目次 intra-mart Accel Platform イベントナビゲータ開発ガイド初版 2013-07-01 None 改訂情報概要イベントフローの作成 更新 削除をハンドリングするイベントフローを非表示にする回答を非表示にするリンクを非表示にするタイトル コメントを動的に変更するリンク情報を動的に変更するナビゲート結果のリンクにステータスを表示する

More information

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

TopLink È... 3 TopLink...5 TopLink åø... 6 TopLink å Workbench O/R ~... 8 Workbench À ~... 8 Foundation Library å... 8 TopL lê~åäé= qçéiáåâ= NMÖENMKNKPF Volume1 Creation Date: Mar 04, 2005 Last Update: Aug 23, 2005 Version 1.0 ...3... 3 TopLink 10.1.3 È... 3 TopLink...5 TopLink åø... 6 TopLink å... 7... 8 Workbench O/R ~...

More information

第14回若年者ものづくり競技大会「業務用ITソフトウェア・ソリューションズ」職種 模擬競技課題

第14回若年者ものづくり競技大会「業務用ITソフトウェア・ソリューションズ」職種 模擬競技課題 公表 業務用 IT ソフトウェア ソリューションズ 模擬競技課題 第 日 第 2 日 注意 : これは模擬競技課題です. 実際の競技で使用するものではありません. また, 競技内容の参考のために競技課題の出 題形式等を模したものであり, この模擬競技課題と実際の競技課題との難易度の同一性を保証するものではありません. / 5 CONTENTS USB メモリ内に用意されている次のプログラムを使用する

More information

Spring Framework Web Web Web DB AOP DI Java EE 3 Web WebMVC Web Java 4 DB H2 Database Java H2 Database http://www.h2database.com/ Version 1.0 Zip 5 H2 > cd $H2_HOME/bin > java cp h2.jar org.h2.tools.server

More information

Microsoft PowerPoint - Pro110111

Microsoft PowerPoint - Pro110111 本日の到達目標 : コレクション プログラミング III 及び実習 1. コレクションとは 2. コレクションの種類 3. 使用方法 第 13 回コレクション 1 2 配列 ( 第 3 回 10 月 13 日 ) 演習 2 ファイル Bubble1.java は, 交換ソート ( バブルソート ) のプログラム ( 途中 ) である. プログラムを完成させ, 正しく実行できることを確かめなさい. /edu/g/po3_09/bubble1.java

More information

PowerPoint Presentation

PowerPoint Presentation 上級プログラミング 2( 第 5 回 ) 工学部情報工学科 木村昌臣 今日のテーマ データベース入門 データベースシステムの用意の仕方 データベースを作ってみる データベースを使ってみる データベースプログラミング JDBCを使った検索プログラム JDBCを使った更新プログラム データベース入門 今回の説明は Windows 環境を前提としているため Linux など他のプラットフォーム上で作業を行う場合は

More information

スライド 1

スライド 1 盛岡市 2018 年 JavaWeb 技術者養成コース 38 日間 日付研修内容 4 月 1 日日 4 月 2 日月 4 月 3 日火 4 月 4 日水 4 月 5 日木 4 月 6 日金コンピュータ基礎 4 月 7 日土 4 月 8 日日 4 月 9 日月コンピュータ基礎 4 月 10 日火コンピュータ基礎 4 月 11 日水プログラム開発基礎 4 月 12 日木プログラム開発基礎 4 月 13

More information

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

Microsoft Word - Android_SQLite講座_画面800×1280 Page 5 5 アクティビティ ( 一覧 ) を作成する ファイル名 : src/jp/edu/mie/view010.java ( 新規作成 ) /* * View010 */ import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view;

More information

第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先

第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先 第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先頭の要素要素から最後までが直線的に直結している構造 Set 同じものは含まないという構造. 要素間につながりはない

More information

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

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部 はじめに コース概要と目的 Oracle 独自の手続き型言語である PL/SQL について説明します PL/SQL の基本構文 ストアド サブプログラム トリガーの作成方法 またストアド サブプログラムの管理について習得することを目的としています 受講対象者 これから PL/SQL を使用してアプリケーション開発をされる方 前提条件 SQL トレーニング コースを受講された方 もしくは 同等の知識をお持ちの方

More information

プレポスト【問題】

プレポスト【問題】 1/5 ページ プレポスト データベース基礎 受講日程受講番号氏名 1 データベースの特徴で間違っているものを選びなさい 1. データの一元管理が可能 2. データの重複が少ない 3. プログラムとの関係が1 対 1 4. データの整合性の確保 2 ANSI/SPARC による 3 層スキーマについて正しいものを選びなさい 1. 外部スキーマ : プログラムに必要な部分のデータ構造を定義概念スキーマ

More information

データアダプタ概要

データアダプタ概要 データベース TableAdapter クエリを実行する方法 TableAdapter クエリは アプリケーションがデータベースに対して実行出来る SQL ステートメントやストアドプロシージャで TableAdapter で型指定されたメソッドと仕て公開される TableAdapter クエリは 所有るオブジェクトのメソッドと同様に 関連付けられたメソッドを呼び出す事に依り実行出来る TableAdapter

More information

Caché SQL ゲートウェイの使用法

Caché SQL ゲートウェイの使用法 Caché SQL ゲートウェイの 使用法 Version 5.1 2006-03-14 InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com Caché SQL ゲートウェイの使用法 Caché Version 5.1 2006-03-14 Copyright 2006 InterSystems

More information

Java の ConcurrentHashMap における同期化 バッドケースとその対処法 2013 年 9 月湊隆行 1. はじめに表 1.1 に示すように Java の Collections Framework には 3 つの世代があります バージョン 1.0 から存在するレガシー API バ

Java の ConcurrentHashMap における同期化 バッドケースとその対処法 2013 年 9 月湊隆行 1. はじめに表 1.1 に示すように Java の Collections Framework には 3 つの世代があります バージョン 1.0 から存在するレガシー API バ Java の ConcurrentHashMap における同期化 バッドケースとその対処法 2013 年 9 月湊隆行 1. はじめに表 1.1 に示すように Java の Collections Framework には 3 つの世代があります バージョン 1.0 から存在するレガシー API バージョン 1.2 で追加されたロック機構を使わない API および バージョン 5.0 で追加された同期化コストが低い

More information

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

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第8版   Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 改訂情報概要レコードの追加 / 更新 / 削除レコードの編集レコードを削除するレコードの一括インポートとエクスポート日本語のキャプション表示 2 改訂情報 変更年月日 変更内容 2012-10-01 初版 2013-10-01 第 2 版下記が追加 変更されました 対応するフィールドの型 が追加されました

More information

IT プロジェクト

IT プロジェクト オブジェクト指向設計による卓球 ゲームの試作 (2) 劉少英 情報科学部コンピュータ科学科 Email:sliu@hosei.ac.jp ホームページ : http://cis.k.hosei.ac.jp/~sliu/ 講義内容 1. 卓球ボールをテーブルの上に移動させる 2. 関連しているクラスにメソッドを加える 3. プログラムの文書化技術 1. 卓球ボールをテーブルの上に 移動させる 8 9

More information

Microsoft Word - NonGenTree.doc

Microsoft Word - NonGenTree.doc ジェネリクスとコンパレータを使用しない 2 分探索木のプログラム例 BinTreeNG.java: 2 分探索木のクラス BinTreeNG BinTreeTesterNG.java: BinTreeNG を利用するプログラム例 === BinTreeNG.java =========================================================================

More information

5 継承とは クラス図 98 7 参照の自動型変換 参照の自動型変換 クラス図の見方 クラス図の書き方 継承 継承してクラスを作る インスタンスの初期化 継承の効果を確認する

5 継承とは クラス図 98 7 参照の自動型変換 参照の自動型変換 クラス図の見方 クラス図の書き方 継承 継承してクラスを作る インスタンスの初期化 継承の効果を確認する 3 クラスの仕組み 51 3.1 他のクラスからのアクセスを制限する 52 1.private と public 52 1 クラスの作り方 1 1.1 オブジェクトとは 2 1. オブジェクトって何? 2 2. データの集まりをオブジェクトにする 3 3. まずクラスを作る 4 4. クラスの作り方 5 5. 基本機能として必要なもの 6 1.2 クラスを作る 8 1. クラスを作る手順 8 2.

More information

intra-mart Accel Platform — IM-BloomMaker プログラミングガイド   初版  

intra-mart Accel Platform — IM-BloomMaker プログラミングガイド   初版   Copyright 2019 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 前処理プログラム 3.1. 前処理を実装する 3.1.1. 前処理の実装方式 3.1.2. 前処理の実行順序と引数 3.1.3. リクエストパラメータの解析

More information

问题集 ITEXAMPASS 1 年で無料進級することに提供する

问题集 ITEXAMPASS   1 年で無料進級することに提供する 问题集 ITEXAMPASS https://www.itexampass.jp 1 年で無料進級することに提供する Exam : 70-762 Title : Developing SQL Databases Version : DEMO 1 / 10 1. ドラッグドロップ注 : この質問は 同じシナリオを使用する一連の質問の一部です あなたの便宜のために シナリオは各質問で繰り返されます 各質問は異なる目標と答えの選択を提示しますが

More information

基本情報STEP UP演習Java対策

基本情報STEP UP演習Java対策 トレーニング編 1. 予約語 extends アクセスレベル class サブクラス名 extends スーパクラス名 { (1) スーパクラス ( 既存のクラス ) を拡張して, サブクラス ( 新しいクラス ) を定義する場合に extends を利用する (2) extends の後ろには, スーパクラスの名前を一つだけ指定できる (3) サブクラスからインスタンスを生成すると, スーパクラスに定義されたインスタンス変数やメソッドがこのインスタンス内部に引き継がれる

More information

Chapter Two

Chapter Two Database 第 9 回 :SQL 言語 ( データベース操作 : 集合関数 抽出条件 副問い合わせ ) 上智大学理工学部情報理工学科 高岡詠子 No reproduction or republication without written permission. 許可のない転載 再発行を禁止します 2011/12/8 2011 Eiko Takaoka All Rights Reserved.

More information

TALON Tips < 親子関係のある構成データを TALON で表示する > 株式会社 HOIPOI 第 1.1 版 p. 1

TALON Tips < 親子関係のある構成データを TALON で表示する > 株式会社 HOIPOI 第 1.1 版 p. 1 TALON Tips < 親子関係のある構成データを TALON で表示する > 株式会社 HOIPOI 第 1.1 版 p. 1 1 目次 1 目次... 2 2 はじめに... 3 3 Tips セットアップ... 4 3.1 事前準備... 4 3.2 事前準備 2... 4 3.3 セットアップ... 4 3.4 セットアップ ( その他 )... 5 4 Tips 概要... 6 4.1

More information

PowerPoint Presentation

PowerPoint Presentation Webデザイン特別プログラムデータベース実習編 3 MySQL 演習, phpmyadmin 静岡理工科大学総合情報学部幸谷智紀 http://na-inet.jp/ RDB の基礎の基礎 RDB(Relational DataBase) はデータを集合として扱う データの取り扱いはテーブル (= 集合 ) の演算 ( 和集合, 積集合 ) と同じ データベースには複数のテーブルを作ることができる

More information