JP5685205B2 - プログラム、情報処理装置およびアクセス支援方法 - Google Patents
プログラム、情報処理装置およびアクセス支援方法 Download PDFInfo
- Publication number
- JP5685205B2 JP5685205B2 JP2012004571A JP2012004571A JP5685205B2 JP 5685205 B2 JP5685205 B2 JP 5685205B2 JP 2012004571 A JP2012004571 A JP 2012004571A JP 2012004571 A JP2012004571 A JP 2012004571A JP 5685205 B2 JP5685205 B2 JP 5685205B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- query
- value
- character string
- mapping information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 200
- 230000010365 information processing Effects 0.000 title claims description 36
- 238000012545 processing Methods 0.000 claims description 226
- 238000013507 mapping Methods 0.000 claims description 221
- 238000003860 storage Methods 0.000 claims description 64
- 230000004044 response Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 description 57
- 238000010586 diagram Methods 0.000 description 24
- 238000006467 substitution reaction Methods 0.000 description 22
- 230000018109 developmental process Effects 0.000 description 15
- 238000011161 development Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 230000015654 memory Effects 0.000 description 10
- 230000033772 system development Effects 0.000 description 10
- XILIYVSXLSWUAI-UHFFFAOYSA-N 2-(diethylamino)ethyl n'-phenylcarbamimidothioate;dihydrobromide Chemical compound Br.Br.CCN(CC)CCSC(N)=NC1=CC=CC=C1 XILIYVSXLSWUAI-UHFFFAOYSA-N 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 238000003825 pressing Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
また、オブジェクト指向言語で開発されたソフトウェアから、複数の項目が定義された関係データベースのテーブルへのアクセスを支援する情報処理装置が実行するアクセス支援方法が提供される。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置を示す図である。情報処理装置1は、オブジェクト指向言語で開発されたソフトウェアから、複数の項目が定義された関係データベース(RDB)2のテーブル2aへのアクセスを支援する。具体的には、情報処理装置1は、オブジェクトを用いて入力されたデータを、テーブル2aで扱う項目およびデータ型へ対応付けて(マッピング)、テーブル2aへのアクセスを行う。なお、情報処理装置1は、CPU(Central Processing Unit)などのプロセッサとRAM(Random Access Memory)などのメモリとを備えてもよく、メモリに記憶されたプログラムをプロセッサが実行するコンピュータであってもよい。情報処理装置1は、記憶手段1a、生成手段1bおよびアクセス手段1cを有する。
生成手段1bは、アクセス手段1cからアクセス結果7を取得する。生成手段1bは、オブジェクト4cを用いて要求元のソフトウェア(または装置)に当該アクセス結果7を応答する。当該オブジェクト4cの何れのキー、データ型に対応付けるかはマッピング情報3に基づいて判断できる。ここで、オブジェクト4cは、オブジェクト4aと同一のオブジェクトでもよいし、異なるオブジェクトでもよい。生成手段1bは、何れのオブジェクトで応答を得るかを指定する情報を、要求元のソフトウェアからアクセス要求4に含めて受け付けてもよい。
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、あるシステムの開発に用いられる。第2の実施の形態の情報処理システムは、ORM提供側サーバ100およびORM利用側サーバ200を有する。ORM提供側サーバ100およびORM利用側サーバ200は、ネットワーク10を介して接続されている。例えば、ネットワーク10はLAN(Local Area Network)である。ネットワーク10は、インターネットなどの広域ネットワークでもよい。
ORM利用側サーバ200は、ソフトウェアの開発を行うためのサーバコンピュータである。ユーザは、ORM利用側サーバ200を操作して、システムの機能を実現するためのソフトウェアの開発(プログラムのコーディングやテストなど)を行う。ここで、ソフトウェアの開発は、オブジェクト指向言語を用いて行われるとする。オブジェクト指向言語として、JAVA(登録商標)を想定する。なお、以下の説明において「オブジェクト」という場合、ORM提供側サーバ100やORM利用側サーバ200のメモリ上に配置されたオブジェクトの実体(インスタンス)を含む。ただし、処理内容を明確にするために、オブジェクトのインスタンス化を明示することもある。
記憶部210は、ブラウザ220およびUP処理部230を実現するためのプログラムを記憶する。記憶部210は、例えばORM利用側サーバ200が備えるRAM上やHDD上の記憶領域に実装される。
UP処理部230は、ORM利用側サーバ200で開発されるソフトウェアの機能の全部または一部である。UP処理部230は、DAO処理部140が提供するCRUD操作のメソッドを用いてRDB120へのアクセスをORM提供側サーバ100に依頼できる。
記憶部110には、マッピング定義ファイル111およびSQL定義ファイル112を記憶する。マッピング定義ファイル111のファイル名は、例えば“MappingConfig”の文字列を含む。SQL定義ファイル112のファイル名には、例えば“SQLConfig”の文字列を含む。
(1)id:マッピング定義を識別するためのマッピングID(IDentifier)。
(2)table:アクセス対象のテーブルの名称。
要素の定義は、3行目に対応している。マッピング定義ファイル111の例では、3行目〜12行目がマッピングID“MAPPING001”に対応する1つのマッピング定義を示す。
(1)attribute:属性名。
(2)type:開発言語型。
(4)dbtype:DBMSデータ型。DBMSで扱うためのデータ型である。
(5)size:データサイズ(桁)。
ここで、9行目〜11行目には、EMPテーブル121に存在しない項目に対する属性が定義されている。具体的には、“wsalary”、“selectItems”および“addCondition”の属性名の属性である。これらは、マッピング以外の用途に用いる属性であり、これらを「任意属性」と呼ぶこととする。すなわち、マッピング定義においてcolumnに“*”や“@”が設定されている属性が任意属性である。columnに“*”が設定された任意属性はバインド属性であり、後述するSQL雛型に含まれ得るバインド変数に対応している。columnに“@”が設定された任意属性は単純置換属性であり、後述するSQL雛型に含まれ得る単純置換変数に対応している。なお、バインド変数は、SQL実行時に具体的な値を設定することを示す変数である。単純置換変数は、単に文字列に置換可能な変数である。単純置換変数に代入する値は文字列型である。バインド属性と単純置換属性とは、用途に応じて使い分けることができる。使い分けの詳細は後述する。また、任意属性以外の通常のバインド属性(EMPテーブル121の項目名が対応付けられたもの)を「通常属性」と呼ぶこととする。通常属性もSQL雛型に含まれ得るバインド変数に対応するものである。
(1)id:SQL雛型を識別するためのクエリID。
(2)class:テーブルへのアクセスに用いるオブジェクトを指定する情報。
例えば、クエリID“SELECT001”のSQL雛型(4行目)は、属性名“empNo”に対応する文字列“?empNo?”を含む。マッピング定義ファイル111によれば“empNo”は通常属性である。これに対する文字列“?empNo?”はバインド変数である。
入力ボックス群C4は、ORM利用側サーバ200のソフトウェアで扱うデータの日本語名称および型の日本語名称、入力ボックスC2で指定されたオブジェクトで扱うデータの属性名およびデータの型(開発言語型)、入力ボックスC3で指定されたテーブル上でのデータの項目名とデータの型(DBMS型)とサイズ(桁)との対応関係を入力するための領域である。開発言語型は、ここでは属性値をJAVAで扱うためのデータ型である。なお、アクセス対象テーブルのDBMS型およびサイズ(桁)の設定は任意である。
作成ボタン422は、SQL定義入力領域421に入力された情報に基づいて、SQL定義ファイル112に対するSQL定義の登録を、GUI提供部130に実行させるためのボタンである。ブラウザ220は、作成ボタン422の押下を受け付けると、SQL定義入力領域421に入力された情報をGUI提供部130に送信する。GUI提供部130は、ブラウザ220から取得した情報に基づいて、SQL定義ファイル112にSQL雛型を追加する。なお、入力ボックスC6に個別オブジェクトのオブジェクト名が入力された場合、SQL雛型の“class”のタグ属性には、当該個別オブジェクトを指定する情報が登録される。また、入力ボックスC6にオブジェクト名が入力されていない場合(または、匿名オブジェクトの名称“Anonymous”が入力された場合)、SQL雛型の“class”のタグ属性には、匿名オブジェクトを指定する情報が登録される。
更に、指定された属性名に対応する属性値を所定の型で設定するための次のようなメソッドが実装される。
21行目〜25行目に記述されたメソッド“getValueAsString(String name)”は、属性名に対応する属性値を文字列型で取得するためのメソッドである。このような属性値の取得用のメソッドは、Getterメソッドと呼ばれることもある。
43行目に記述されたメソッド“getValue(String name)”は、属性名に対応する属性値を任意の型で取得するためのメソッドである。なお、40行目および43行目のメソッドに関しては、21行目〜25行目および33行目〜37行目のメソッドと記述形式が同様であるため、図示を省略している。
次に、個別オブジェクト320のプログラムの記述例を説明する。
更に、各属性に値を設定するための次のようなメソッドが実装される。例えば、メソッド“setEmpNo(Integer empNo)”(17行目〜19行目)は、属性“empNo”への属性値(数値型)を設定するためのメソッドである。また、例えば、メソッド“setName(String name)”(25行目〜27行目)は、属性“name”への属性値(文字列型)を設定するためのメソッドである。“setSex(String sex)”(33行目)、“setHireDate(Date hireDate)”(36行目)および“setSalary(Integer salary)”(39行目)の各メソッドも同様である。
図15は、第2の実施の形態のユーザオブジェクトの他の記述例を示す図である。ユーザオブジェクト231aのオブジェクトファイルは、記憶部210に記憶される。図15ではユーザオブジェクト231aのソースプログラム“ORMUser2.java”(一部)を例示している。ユーザオブジェクト231aは、EMPテーブル121に対して、SQL定義ファイル112で定義されたクエリID“SELECT003”を用いたアクセス(検索)を依頼するものである。当該依頼を行うメソッド“select003UsingEmployee(dao)”(6行目)は、9行目〜16行目に記述されている。
次に、以上の構成の情報処理システムの処理手順を説明する。まず、UP処理部230とDAO処理部140との間の処理手順を説明する。RDB120へアクセスするユーザオブジェクトとして、図14,図15で説明したユーザオブジェクト231,231aを想定する。
(ステップS11)UP処理部230は、ユーザオブジェクト231(または、ユーザオブジェクト231a)で指定された条件オブジェクトが個別オブジェクト320であるか否かを判定する。個別オブジェクト320である場合、処理をステップS12に進める。個別オブジェクト320でない場合、処理をステップS14に進める。例えば、ユーザオブジェクト231aの場合、“Employee”(“Anonymous”以外のオブジェクト名)が条件オブジェクトに用いられている。この場合、条件オブジェクトは個別オブジェクト320である。また、ユーザオブジェクト231の場合、匿名オブジェクト310として予め定義された“Anonymous”が条件オブジェクトに用いられている。この場合、条件オブジェクトは匿名オブジェクト310である。
(ステップS13)UP処理部230は、ユーザオブジェクト231aで指定された属性値を個別オブジェクト320の各属性に設定する。UP処理部230は、ユーザオブジェクト231aで指定されたマッピングID、クエリIDおよび属性値を設定した個別オブジェクト320をDAO処理部140に送信する。このとき、UP処理部230は、ユーザオブジェクト231aで指定されるメソッド(ここでは、findメソッド)の実行をDAO処理部140に依頼する。そして、処理をステップS16に進める。
(ステップS15)UP処理部230は、ユーザオブジェクト231で指定された属性名と属性値とのペアを匿名オブジェクト310に設定する。UP処理部230は、ユーザオブジェクト231で指定されたマッピングID、クエリIDおよび属性名/属性値のペアを設定した匿名オブジェクト310をDAO処理部140に送信する。このとき、UP処理部230は、ユーザオブジェクト231で指定されるメソッド(ここでは、findメソッド)の実行をDAO処理部140に依頼する。
(ステップS21)ORM処理部150は、記憶部110に記憶されたマッピング定義ファイル111に基づいて、アクセス要求330に設定されたマッピングIDに対応するマッピング定義を取得する。ユーザオブジェクト231の例でいえば、マッピングIDは“MAPPING001”である。この場合、ORM処理部150は、マッピング定義ファイル111の要素<entry>の“id”のタグ属性が“MAPPING001”に一致するマッピング定義を取得する。
(ステップS25)ORM処理部150は、生成したSQLを用いてRDB120へのアクセスを実行する。ORM処理部150は、アクセス内容に応じたアクセス結果を得る。例えば、検索(find)であれば検索結果を示すレコードを得る。また、登録(insertやcreate)であれば登録完了件数を得る。また、更新(update)であれば更新完了件数を得る。更に、削除(delete)であれば削除完了件数を得る。
(ステップS29)ORM処理部150は、処理件数をDAO処理部140に応答する(アクセス応答340に対応する)。そして、処理を終了する。
(ステップS31)ORM処理部150は、ステップS22で取得したSQL雛型に単純置換変数が含まれているか否かを判定する。単純置換変数が含まれている場合、処理をステップS32に進める。単純置換変数が含まれていない場合、処理をステップS36に進める。例えば、クエリID“SELECT003”の例でいえば、文字列“?selectItems?”や“?addCondition?”は単純置換変数である。この場合、ORM処理部150は、SQL雛型に単純置換変数が含まれていると判断する。
なお、ステップS36において、SQL雛型にバインド属性がないと判定された場合、RDB120のDBMSに出力されるSQLの情報は、SQLの完成形である。
ORM処理部150は、単純置換属性“selectItems”および“addCondition”をSQL雛型501から抽出する。単純置換属性の属性名は、単純置換変数から両側の文字“?”を除外した文字列である。ORM処理部150は、匿名オブジェクト310が提供するメソッドにより、単純置換属性の各属性名をキーに、匿名オブジェクト310から属性値を取得する。ユーザオブジェクト231による匿名オブジェクト310への設定内容によれば、メソッド“getValueAsString(“selectItems”)”により“selectItems”に対し“EMPNO,NAME”を得る。また、メソッド“getValueAsString(“addCondition”)”により“addCondition”に対する属性値は得られない。よって、ORM処理部150は、単純置換変数“?selectItems?”を文字列型の“EMPNO,NAME”に置換する。また、単純置換変数“?addCondition?”を設定なし(空欄)とする。
図20は、第2の実施の形態のSQL生成を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。
(ステップS44)ORM処理部150は、条件オブジェクトとして個別オブジェクト320が指定されているか否かを判定する。個別オブジェクト320が指定されている場合、処理をステップS45に進める。個別オブジェクト320が指定されていない場合、処理をステップS46に進める。ステップS11と同様に、ORM処理部150は、条件オブジェクトの名称に基づいて、当該条件オブジェクトが個別オブジェクト320であるか否かを判断できる。
なお、ステップS43では、開発言語型(マッピング定義の“type”のタグ属性)を取得するものとした。これは、RDB120のDBMSが提供するドライバプログラム(Javaの場合、JDBCドライバ)が、開発言語型で入力された値をDBMSデータ型に自動的に変換してSQLを実行するためである。
なお、結果オブジェクトに属性値を設定する際に、EMPテーブル121から実際に取得したDBMSデータ型と、マッピング定義ファイル111に定義されたDBMSデータ型と、が整合しているかをチェックしてもよい。例えば、実際に取得した“EMPNO”のDBMSデータ型が“VARCHAR”であり、マッピング定義の“empNo”のDBMSデータ型(“dbtype”のタグ属性)が“INTEGER”であれば、両者のデータ型の不整合を検出する。不整合の場合にエラーを発するようにすれば、意図しないマッピングを未然に防ぐことができ、定義などの見直しをユーザに促すことができる。
以下、第3の実施の形態を説明する。前述の第2の実施の形態との相違点を主に説明し、同様の事項の説明を省略する。
ここで、匿名オブジェクト310および個別オブジェクト320の何れを結果オブジェクトに用いるかは、ユーザオブジェクト231,231aで指定可能とする。具体的には、図14で示したユーザオブジェクト231で、DAO処理部140のfindメソッドを呼び出す際(14行目)、当該findメソッドに入力する4つ目の引数で結果オブジェクトを指定する。当該引数に、“Employee.class”を指定すれば、個別オブジェクト320を指定できる。この場合、当該14行目の記述を、“List<Object> resultList = dao.find(“MAPPING001”,“SELECT003”,condition,Employee.class)”と書き換えればよい。図15で示したユーザオブジェクト231aの場合も同様にして、匿名オブジェクト310を指定することができる。DAO処理部140は、アクセス要求330に当該結果オブジェクトを指定する情報を含める。
(ステップS51)ORM処理部150は、アクセス要求330に結果オブジェクトを指定する情報があるか否かを判定する。結果オブジェクトを指定する情報がある場合、処理をステップS53に進める。結果オブジェクトを指定する情報がない場合、処理をステップS52に進める。
(ステップS54)ORM処理部150は、匿名オブジェクト310を結果オブジェクトとして選択する。そして、処理を終了する。
以下、第4の実施の形態を説明する。前述の第2,第3の実施の形態との相違点を主に説明し、同様の事項の説明を省略する。
(ステップS61)UP処理部230は、RDB120へのアクセス依頼に伴い、条件オブジェクトを利用するか否かを判定する。利用する場合、処理をステップS62に進める。利用しない場合、処理をステップS67に進める。例えば、ユーザオブジェクト231cは、条件オブジェクトを利用する(匿名オブジェクト310が利用されている)。一方、ユーザオブジェクト231b,231dは、条件オブジェクトを利用しない。
(ステップS64)UP処理部230は、指定された属性値を個別オブジェクト320の各属性に設定する。UP処理部230は、ユーザオブジェクトで指定されたマッピングIDおよび属性値を設定した個別オブジェクト320をDAO処理部140に送信する(クエリIDは指定されない)。UP処理部230は、ユーザオブジェクトで指定されるメソッド(例えば、ユーザオブジェクト231bの例ではfindメソッド)の実行をDAO処理部140に依頼する。そして、処理をステップS67に進める。
(ステップS66)UP処理部230は、ユーザオブジェクトで指定された属性名と属性値とのペアを匿名オブジェクト310に設定する。UP処理部230は、ユーザオブジェクトで指定されたマッピングIDおよび属性名/属性値のペアを設定した匿名オブジェクト310をDAO処理部140に送信する(クエリIDは指定されない)。このとき、UP処理部230は、ユーザオブジェクトで指定されるメソッド(例えば、ユーザオブジェクト231cの例ではcreateメソッド)の実行をDAO処理部140に依頼する。
以下、第5の実施の形態を説明する。前述の第2〜第4の実施の形態との相違点を主に説明し、同様の事項の説明を省略する。
1a 記憶手段
1b 生成手段
1c アクセス手段
2 関係データベース
2a テーブル
3 マッピング情報
4 アクセス要求
4a,4c オブジェクト
4b クエリの雛型を示す情報
5 クエリの雛型
6 クエリ
7 アクセス結果
M1 キー
M2,M4 値
M3 文字列
Claims (12)
- オブジェクト指向言語で開発されたソフトウェアから、複数の項目が定義された関係データベースのテーブルへのアクセスを支援するプログラムであって、コンピュータに、
キーおよび値の組み合わせを設定したオブジェクトと前記テーブルに対するクエリの雛型であって当該キーに対応する文字列を含む前記クエリの雛型を示す情報とを含むアクセス要求を受け付けると、記憶手段に記憶された、キーと前記テーブルの項目に応じたデータ型との対応関係を前記テーブルの項目ごとに定義したマッピング情報を参照して、前記文字列に対応するキーが前記マッピング情報に含まれる何れかのキーと一致するか判定し、
前記マッピング情報に含まれる何れかのキーと一致すると判定すると、前記オブジェクトから当該キーに対応する前記値を取得し、前記クエリの雛型に含まれる前記文字列を当該キーに対応するデータ型の前記値に置換したクエリを生成し、生成した当該クエリを用いて前記テーブルにアクセスし、
前記マッピング情報は、前記テーブルの項目に対応付けられていない任意キーとデータ型との対応関係を含み、
前記判定では、前記文字列に対応するキーが任意キーと一致するかを更に判定し、一致すると判定すると前記文字列を当該任意キーに対応するデータ型の前記値に置換したクエリを生成する、
処理を実行させるプログラム。 - オブジェクト指向言語で開発されたソフトウェアから、複数の項目が定義された関係データベースのテーブルへのアクセスを支援するプログラムであって、コンピュータに、
キーおよび値の組み合わせを設定したオブジェクトと前記テーブルに対するクエリの雛型であって当該キーに対応する文字列を含む前記クエリの雛型を示す情報とを含むアクセス要求を受け付けると、記憶手段に記憶された、キーと前記テーブルの項目に応じたデータ型との対応関係を前記テーブルの項目ごとに定義したマッピング情報を参照して、前記文字列に対応するキーが前記マッピング情報に含まれる何れかのキーと一致するか判定し、
前記マッピング情報に含まれる何れかのキーと一致すると判定すると、前記オブジェクトから当該キーに対応する前記値を取得し、前記クエリの雛型に含まれる前記文字列を当該キーに対応するデータ型の前記値に置換したクエリを生成し、生成した当該クエリを用いて前記テーブルにアクセスし、
前記オブジェクトは第1のキーおよび第1の値の組み合わせが設定され、前記クエリの雛型は前記第1のキーに対応する第1の文字列を含み、また、前記マッピング情報は前記テーブルの項目に対応付けられていない任意キーとデータ型との対応関係を含み、
前記第1のキーが第1の任意キーと一致すると判定すると前記第1の文字列を当該第1の任意キーに対応するデータ型の前記第1の値に置換して、前記クエリの雛型からプリペアドステートメントを生成し、当該プリペアドステートメントに基づいてクエリを生成する、
処理を実行させるプログラム。 - 前記オブジェクトは第2のキーおよび第2の値の組み合わせが更に設定され、前記クエリの雛型は前記第2のキーに対応する第2の文字列を更に含み、
前記プリペアドステートメントを生成する際に、前記第1の文字列を前記第1の値に置換するのに加え、前記第2のキーが任意キーと一致しないと判定すると前記第2の文字列をプレースホルダに置換することで、前記クエリの雛型から前記プリペアドステートメントを生成し、
前記第2のキーが前記マッピング情報に含まれる何れかのキーと一致すると判定すると前記プリペアドステートメントに含まれる前記プレースホルダを当該キーに対応するデータ型の前記第2の値に置換することで、前記プリペアドステートメントからクエリを生成する、
請求項2記載のプログラム。 - オブジェクト指向言語で開発されたソフトウェアから、複数の項目が定義された関係データベースのテーブルへのアクセスを支援するプログラムであって、コンピュータに、
キーおよび値の組み合わせを設定したオブジェクトと前記テーブルに対するクエリの雛型であって当該キーに対応する文字列を含む前記クエリの雛型を示す情報とを含むアクセス要求を受け付けると、記憶手段に記憶された、キーと前記テーブルの項目に応じたデータ型との対応関係を前記テーブルの項目ごとに定義したマッピング情報を参照して、前記文字列に対応するキーが前記マッピング情報に含まれる何れかのキーと一致するか判定し、
前記マッピング情報に含まれる何れかのキーと一致すると判定すると、前記オブジェクトから当該キーに対応する前記値を取得し、前記クエリの雛型に含まれる前記文字列を当該キーに対応するデータ型の前記値に置換したクエリを生成し、生成した当該クエリを用いて前記テーブルにアクセスし、
前記マッピング情報に定義された前記対応関係にはキーと前記テーブルの項目との対応付けが含まれており、
前記テーブルへアクセスして前記テーブルの何れかの項目の設定値を取得すると、前記マッピング情報を参照して、当該項目に対応するキーを取得し、前記オブジェクトに当該キーと前記設定値との組み合わせを設定して前記アクセス要求に対する応答とし、
前記オブジェクトには、キーおよびデータ型を指定した値の設定操作がデータ型ごとに定義されており、
前記オブジェクトに前記テーブルの項目に対応する前記設定値を設定する際に、前記マッピング情報を参照して得た当該項目に対応するデータ型での当該設定値の前記設定操作を実行する、
処理を実行させるプログラム。 - オブジェクト指向言語で開発されたソフトウェアから、複数の項目が定義された関係データベースのテーブルへのアクセスを支援するプログラムであって、コンピュータに、
キーおよび値の組み合わせを設定したオブジェクトと前記テーブルに対するクエリの雛型であって当該キーに対応する文字列を含む前記クエリの雛型を示す情報とを含むアクセス要求を受け付けると、記憶手段に記憶された、キーと前記テーブルの項目に応じたデータ型との対応関係を前記テーブルの項目ごとに定義したマッピング情報を参照して、前記文字列に対応するキーが前記マッピング情報に含まれる何れかのキーと一致するか判定し、
前記マッピング情報に含まれる何れかのキーと一致すると判定すると、前記オブジェクトから当該キーに対応する前記値を取得し、前記クエリの雛型に含まれる前記文字列を当該キーに対応するデータ型の前記値に置換したクエリを生成し、生成した当該クエリを用いて前記テーブルにアクセスし、
前記マッピング情報に定義された前記対応関係にはキーと前記テーブルの項目との対応付けが含まれており、
前記テーブルへアクセスして前記テーブルの何れかの項目の設定値を取得すると、前記マッピング情報を参照して、当該項目に対応するキーを取得し、前記オブジェクトに当該キーと前記設定値との組み合わせを設定して前記アクセス要求に対する応答とし、
前記アクセス要求には当該アクセス要求に対する応答で用いるオブジェクトを指定する情報を設定可能であり、
前記テーブルの項目に対応しキーに対応する名称をもつ属性と当該属性に対する属性値の設定操作および取得操作とを定義した個別オブジェクトを指定する情報が前記アクセス要求に含まれる場合、前記テーブルへアクセスして取得した前記設定値を、前記マッピング情報に基づき前記個別オブジェクトに設定して前記アクセス要求に対する応答とする、
処理を実行させるプログラム。 - 前記アクセス要求に、前記オブジェクトに代えて前記テーブルの項目に対応する属性の属性値を設定した前記個別オブジェクトが含まれる場合、前記マッピング情報を参照して、前記クエリの雛型に含まれる前記文字列を当該属性に対応するキーに対するデータ型の前記属性値に置換したクエリを生成する、
請求項5記載のプログラム。 - オブジェクト指向言語で開発されたソフトウェアから、複数の項目が定義された関係データベースのテーブルへのアクセスを支援するプログラムであって、コンピュータに、
キーおよび値の組み合わせを設定したオブジェクトと前記テーブルに対するクエリの雛型であって当該キーに対応する文字列を含む前記クエリの雛型を示す情報とを含むアクセス要求を受け付けると、記憶手段に記憶された、キーと前記テーブルの項目に応じたデータ型との対応関係を前記テーブルの項目ごとに定義したマッピング情報を参照して、前記文字列に対応するキーが前記マッピング情報に含まれる何れかのキーと一致するか判定し、
前記マッピング情報に含まれる何れかのキーと一致すると判定すると、前記オブジェクトから当該キーに対応する前記値を取得し、前記クエリの雛型に含まれる前記文字列を当該キーに対応するデータ型の前記値に置換したクエリを生成し、生成した当該クエリを用いて前記テーブルにアクセスし、
前記オブジェクトには、キーに基づくデータ型を指定した値の取得操作がデータ型ごとに定義されており、
前記オブジェクトからキーに対応する前記値を取得する際に、前記マッピング情報を参照して得た当該キーに対応するデータ型での当該値の前記取得操作を実行する、
処理を実行させるプログラム。 - オブジェクト指向言語で開発されたソフトウェアから、複数の項目が定義された関係データベースのテーブルへのアクセスを支援するプログラムであって、コンピュータに、
キーおよび値の組み合わせを設定したオブジェクトと前記テーブルに対するクエリの雛型であって当該キーに対応する文字列を含む前記クエリの雛型を示す情報とを含むアクセス要求を受け付けると、記憶手段に記憶された、キーと前記テーブルの項目に応じたデータ型との対応関係を前記テーブルの項目ごとに定義したマッピング情報を参照して、前記文字列に対応するキーが前記マッピング情報に含まれる何れかのキーと一致するか判定し、
前記マッピング情報に含まれる何れかのキーと一致すると判定すると、前記オブジェクトから当該キーに対応する前記値を取得し、前記クエリの雛型に含まれる前記文字列を当該キーに対応するデータ型の前記値に置換したクエリを生成し、生成した当該クエリを用いて前記テーブルにアクセスし、
前記テーブルへのアクセスを依頼する装置からの当該アクセスの依頼に前記クエリの雛型を示す情報が含まれていない場合に前記クエリの雛型を生成し、生成した当該クエリの雛型を前記アクセス要求に追加する、
処理を実行させるプログラム。 - オブジェクト指向言語で開発されたソフトウェアから、複数の項目が定義された関係データベースのテーブルへのアクセスを支援する情報処理装置であって、
キーと前記テーブルの項目に応じたデータ型との対応関係を前記テーブルの項目ごとに定義したマッピング情報を記憶する記憶手段と、
キーおよび値の組み合わせを設定したオブジェクトと前記テーブルに対するクエリの雛型であって当該キーに対応する文字列を含む前記クエリの雛型を示す情報とを含むアクセス要求を受け付けると、前記記憶手段に記憶された前記マッピング情報を参照して、前記文字列に対応するキーが前記マッピング情報に含まれる何れかのキーと一致するか判定し、前記マッピング情報に含まれる何れかのキーと一致すると判定すると、前記オブジェクトから当該キーに対応する前記値を取得し、前記クエリの雛型に含まれる前記文字列を当該キーに対応するデータ型の前記値に置換したクエリを生成する生成手段と、
生成した当該クエリを用いて前記テーブルにアクセスするアクセス手段と、を有し、
前記マッピング情報は、前記テーブルの項目に対応付けられていない任意キーとデータ型との対応関係を含み、
前記生成手段は、前記判定では前記文字列に対応するキーが任意キーと一致するかを更に判定し、一致すると判定すると前記文字列を当該任意キーに対応するデータ型の前記値に置換したクエリを生成する、
情報処理装置。 - オブジェクト指向言語で開発されたソフトウェアから、複数の項目が定義された関係データベースのテーブルへのアクセスを支援する情報処理装置であって、
キーと前記テーブルの項目に応じたデータ型との対応関係を前記テーブルの項目ごとに定義したマッピング情報を記憶する記憶手段と、
キーおよび値の組み合わせを設定したオブジェクトと前記テーブルに対するクエリの雛型であって当該キーに対応する文字列を含む前記クエリの雛型を示す情報とを含むアクセス要求を受け付けると、前記記憶手段に記憶された前記マッピング情報を参照して、前記文字列に対応するキーが前記マッピング情報に含まれる何れかのキーと一致するか判定し、前記マッピング情報に含まれる何れかのキーと一致すると判定すると、前記オブジェクトから当該キーに対応する前記値を取得し、前記クエリの雛型に含まれる前記文字列を当該キーに対応するデータ型の前記値に置換したクエリを生成する生成手段と、
生成した当該クエリを用いて前記テーブルにアクセスするアクセス手段と、を有し、
前記オブジェクトには、キーに基づくデータ型を指定した値の取得操作がデータ型ごとに定義されており、
前記生成手段は、前記オブジェクトからキーに対応する前記値を取得する際に、前記マッピング情報を参照して得た当該キーに対応するデータ型での当該値の前記取得操作を実行する、
情報処理装置。 - オブジェクト指向言語で開発されたソフトウェアから、複数の項目が定義された関係データベースのテーブルへのアクセスを支援する情報処理装置が実行するアクセス支援方法であって、
キーおよび値の組み合わせを設定したオブジェクトと前記テーブルに対するクエリの雛型であって当該キーに対応する文字列を含む前記クエリの雛型を示す情報とを含むアクセス要求を受け付けると、記憶手段に記憶された、キーと前記テーブルの項目に応じたデータ型との対応関係を前記テーブルの項目ごとに定義したマッピング情報を参照して、前記文字列に対応するキーが前記マッピング情報に含まれる何れかのキーと一致するか判定し、
前記マッピング情報に含まれる何れかのキーと一致すると判定すると、前記オブジェクトから当該キーに対応する前記値を取得し、前記クエリの雛型に含まれる前記文字列を当該キーに対応するデータ型の前記値に置換したクエリを生成し、生成した当該クエリを用いて前記テーブルにアクセスし、
前記マッピング情報は、前記テーブルの項目に対応付けられていない任意キーとデータ型との対応関係を含み、
前記判定では、前記文字列に対応するキーが任意キーと一致するかを更に判定し、一致すると判定すると前記文字列を当該任意キーに対応するデータ型の前記値に置換したクエリを生成する、
アクセス支援方法。 - オブジェクト指向言語で開発されたソフトウェアから、複数の項目が定義された関係データベースのテーブルへのアクセスを支援する情報処理装置が実行するアクセス支援方法であって、
キーおよび値の組み合わせを設定したオブジェクトと前記テーブルに対するクエリの雛型であって当該キーに対応する文字列を含む前記クエリの雛型を示す情報とを含むアクセス要求を受け付けると、記憶手段に記憶された、キーと前記テーブルの項目に応じたデータ型との対応関係を前記テーブルの項目ごとに定義したマッピング情報を参照して、前記文字列に対応するキーが前記マッピング情報に含まれる何れかのキーと一致するか判定し、
前記マッピング情報に含まれる何れかのキーと一致すると判定すると、前記オブジェクトから当該キーに対応する前記値を取得し、前記クエリの雛型に含まれる前記文字列を当該キーに対応するデータ型の前記値に置換したクエリを生成し、生成した当該クエリを用いて前記テーブルにアクセスし、
前記オブジェクトには、キーに基づくデータ型を指定した値の取得操作がデータ型ごとに定義されており、
前記オブジェクトからキーに対応する前記値を取得する際に、前記マッピング情報を参照して得た当該キーに対応するデータ型での当該値の前記取得操作を実行する、
アクセス支援方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012004571A JP5685205B2 (ja) | 2012-01-13 | 2012-01-13 | プログラム、情報処理装置およびアクセス支援方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012004571A JP5685205B2 (ja) | 2012-01-13 | 2012-01-13 | プログラム、情報処理装置およびアクセス支援方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013143114A JP2013143114A (ja) | 2013-07-22 |
JP5685205B2 true JP5685205B2 (ja) | 2015-03-18 |
Family
ID=49039632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012004571A Active JP5685205B2 (ja) | 2012-01-13 | 2012-01-13 | プログラム、情報処理装置およびアクセス支援方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5685205B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6866270B2 (ja) * | 2017-10-17 | 2021-04-28 | 株式会社日立システムズ | Sql文抽出装置、sql文抽出方法及びプログラム |
US11106820B2 (en) * | 2018-03-19 | 2021-08-31 | International Business Machines Corporation | Data anonymization |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10260992A (ja) * | 1997-01-16 | 1998-09-29 | Fujitsu Ltd | データベース処理装置および記憶媒体 |
JP2000268052A (ja) * | 1999-03-18 | 2000-09-29 | Fujitsu Ltd | データ処理システムおよび記録媒体 |
JP4132441B2 (ja) * | 1999-07-19 | 2008-08-13 | 富士通株式会社 | 管理対象オブジェクトのデータ管理装置 |
JP3892825B2 (ja) * | 2003-05-23 | 2007-03-14 | 株式会社東芝 | データベース検索支援システムおよびデータベース検索支援方法 |
US20080189289A1 (en) * | 2007-02-06 | 2008-08-07 | Dettinger Richard D | Generating logical fields for a data abstraction model |
JP2011258225A (ja) * | 2011-08-10 | 2011-12-22 | Fujitsu Ltd | データ統合装置、データ統合方法およびデータ統合プログラムを記録したコンピュータ読み取り可能な記録媒体 |
-
2012
- 2012-01-13 JP JP2012004571A patent/JP5685205B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013143114A (ja) | 2013-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9804837B2 (en) | System and method for creating, managing, and reusing schema type definitions in services oriented architecture services, grouped in the form of libraries | |
US7386568B2 (en) | Techniques for partial rewrite of XPath queries in a relational database | |
Vathy-Fogarassy et al. | Uniform data access platform for SQL and NoSQL database systems | |
US7668806B2 (en) | Processing queries against one or more markup language sources | |
US9177021B2 (en) | Relational query planning for non-relational data sources | |
US20180246704A1 (en) | Systems and methods for transactional applications in an unreliable wireless network | |
CN108762743B (zh) | 一种数据表操作代码生成方法及装置 | |
US20030177481A1 (en) | Enterprise information unification | |
US7720885B2 (en) | Generating a word-processing document from database content | |
US9189579B2 (en) | Techniques to automatically generate simulated information | |
US20110295794A1 (en) | System and method for supporting data warehouse metadata extension using an extender | |
US20080250394A1 (en) | Synchronizing external documentation with code development | |
US20090043778A1 (en) | Generating etl packages from template | |
CN102053987B (zh) | 用于显示和修改数据数组的统一接口 | |
US8010899B2 (en) | System offering a data-skin based on standard schema and the method | |
WO2023051125A1 (zh) | 结构化数据的版本管理方法、装置及相关设备 | |
KR100581687B1 (ko) | 이기종의 데이타베이스 관리시스템 통합방법 및 그 방법을실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는기록매체 | |
JP5685205B2 (ja) | プログラム、情報処理装置およびアクセス支援方法 | |
JP3914081B2 (ja) | アクセス権限設定方法および構造化文書管理システム | |
TWI629602B (zh) | 互動式網頁程式自動產生方法 | |
TWI522824B (zh) | 從資料集詮釋資料產生表單驗證程式與對應表單介面之方法 | |
TWI608406B (zh) | 以外來鍵對映資料表自動產生下拉式表單欄位之方法 | |
JP6677809B2 (ja) | アダプタ生成装置及び方法 | |
WO2023279752A1 (zh) | 数据库模型的版本管理方法、装置及相关设备 | |
Dogan et al. | Improved Presentation and Facade Layer Operations for Software Engineering Projects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140306 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141014 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141215 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150116 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5685205 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |