... | ... |
@@ -121,65 +121,57 @@ L<DBIx::Custom> prepare the way to make it easy. |
121 | 121 |
You can create where clause which has selected search condition. |
122 | 122 |
You can write nesting of where clause and C<or> condition |
123 | 123 |
|
124 |
-=item 4. Method of insert, update, delete, select |
|
124 |
+=item 4. Methods for insert, update, delete, select |
|
125 | 125 |
|
126 |
-L<DBIx::Custom>�ł�SQL���ɊȒP�Ɏ�s���邽�߂� |
|
127 |
-���\�b�h����Ă��܂��B |
|
128 |
-C<insert()>, C<update()>, C<delete()>,C<select()>�Ȃǂ� |
|
129 |
-�V���K�[���\�b�h��g��āA�}��A�X�V�A�폜�A�I��Ƃ��������s�����Ƃ� |
|
130 |
-�ł��܂��B |
|
126 |
+L<DBIx::Custom> provides methods for insert, update, delete, select |
|
127 |
+There are C<insert()>, C<update()>, C<delete()>,C<select()>. |
|
131 | 128 |
|
132 | 129 |
my $param = {title => 'Perl', author => 'Ken'}; |
133 | 130 |
$dbi->insert(table => 'book', param => $param); |
134 | 131 |
|
135 |
-=item 5. �e�[�u���P�ʂ̑���̓o�^ |
|
132 |
+=item 5. Register method for table. |
|
136 | 133 |
|
137 |
-�e�[�u���ɑ��đ����o�^���邱�Ƃ��ł��܂��B����ɂ��� |
|
138 |
-�e�[�u������J��Ԃ��w�肷��K�v���Ȃ��Ȃ�A�\�[�X�R�[�h�� |
|
139 |
-���ʂ����ǂ��Ȃ�܂��B |
|
134 |
+You can register method for table. |
|
140 | 135 |
|
141 |
- $dbi->talbe('book', |
|
136 |
+ $dbi->table('book')->method( |
|
142 | 137 |
list => sub { |
143 | 138 |
... |
144 | 139 |
}, |
145 |
- list_somethin => sub { |
|
146 |
- |
|
140 |
+ something => sub { |
|
141 |
+ ... |
|
147 | 142 |
} |
148 | 143 |
); |
149 | 144 |
|
150 |
-�o�^�������\�b�h�͂��̂܂ܗ��p���邱�Ƃ��ł��܂��B |
|
145 |
+use the mehtod. |
|
151 | 146 |
|
152 | 147 |
$dbi->table('book')->list; |
153 | 148 |
|
154 |
-�ʏ�O/R�}�b�p�̓e�[�u���ɑΉ�����N���X��쐬���Ȃ���� |
|
155 |
-�Ȃ�Ȃ����Ƃ������ł����AL<DBIx::Custom>�ł͂��̍�Ƃ�ȕւ� |
|
156 |
-���Ă���A��L�̂悤�ɓo�^���邱�Ƃ��ł��܂��B |
|
149 |
+Many O/R mapper must create class for table, |
|
150 |
+but L<DBIx::Custom> make it easy. |
|
157 | 151 |
|
158 | 152 |
=back |
159 | 153 |
|
160 |
-L<DBIx::Custom>��L<DBI>��₤�ƂĂ�֗��ȃ��W���[���ł��B |
|
161 |
-��������ꂽ��́A���̌�ŏڂ�������s���܂��̂ŁA |
|
162 |
-�����ɂȂ�Ă݂Ă��������B |
|
154 |
+L<DBIx::Custom> is very useful. |
|
155 |
+See the following if you are interested in it. |
|
163 | 156 |
|
164 |
-=head2 1. �f�[�^�x�[�X�ւ̐ڑ� |
|
157 |
+=head2 1. Connect to database |
|
165 | 158 |
|
166 |
-�܂�L<DBIx::Custom>��ǂݍ��݂܂��B |
|
159 |
+Load L<DBIx::Custom>. |
|
167 | 160 |
|
168 | 161 |
use DBIx::Custom; |
169 | 162 |
|
170 |
-L<DBIx::Custom>�I�u�W�F�N�g�����A�f�[�^�x�[�X�ɐڑ�����ɂ� |
|
171 |
-C<connect()>���\�b�h��g�p���܂��B |
|
163 |
+use C<connect()> to connect to database. |
|
164 |
+Return value is L<DBIx::Custom> object. |
|
172 | 165 |
|
173 | 166 |
my $dbi = DBIx::Custom->connect( |
174 |
- data_source => "dbi:mysql:database=dbname", |
|
167 |
+ data_source => "dbi:mysql:database=bookstore", |
|
175 | 168 |
user => 'ken', |
176 | 169 |
password => '!LFKD%$&', |
177 | 170 |
dbi_options => {mysql_enable_utf8 => 1} |
178 | 171 |
); |
179 | 172 |
|
180 |
-C<data_source>�̓f�[�^�x�[�X�V�X�e���ɉ������t�H�[�}�b�g�� |
|
181 |
-�w�肷��K�v������܂��B�ȉ��Ƀf�[�^�x�[�X���Ƃ̃t�H�[�}�b�g |
|
182 |
-��@�̃T���v����f�ڂ��Ă����܂��B |
|
173 |
+C<data_source> must be one corresponding to the database system. |
|
174 |
+The following ones are data source example. |
|
183 | 175 |
|
184 | 176 |
B<MySQL> |
185 | 177 |
|
... | ... |
@@ -208,23 +200,26 @@ B<ODBC(SQL Server)> |
208 | 200 |
|
209 | 201 |
"dbi:ODBC:driver={SQL Server};Server=(local);database=test;Trusted_Connection=yes;AutoTranslate=No;" |
210 | 202 |
|
211 |
-�܂��F�����߂���ꍇ�́AC<user>��C<password>���[�U���� |
|
212 |
-�p�X���[�h��w�肷��K�v������܂��B |
|
203 |
+If authentication is needed, you can specify C<user> and C<password> |
|
204 |
+ |
|
205 |
+L<DBIx::Custom> is wrapper class of L<DBI>. |
|
206 |
+You can use all methods of L<DBI> from L<DBIx::Custom> object. |
|
213 | 207 |
|
214 |
-L<DBIx::Custom>��L<DBI>�̃��b�p�ł��B |
|
215 |
-L<DBI>�̃f�[�^�x�[�X�n���h����C<dbh>�Ŏ擾���邱�Ƃ��ł��܂��B |
|
208 |
+ $dbi->do(...); |
|
209 |
+ $dbi->begin_work; |
|
210 |
+ |
|
211 |
+use C<dhb()> to get database handle of L<DBI> |
|
216 | 212 |
|
217 | 213 |
my $dbh = $dbi->dbh; |
218 | 214 |
|
219 |
-L<DBIx::Custom>�ł̓f�[�^�x�[�X�n���h�������ɂ̓f�t�H���g�Ŏ��̂�̂��ݒ肳��܂��B |
|
220 |
- |
|
221 |
- $dbi->dbh->{RaiseError} = 1; |
|
222 |
- $dbi->dbh->{PrintError} = 0; |
|
223 |
- $dbi->dbh->{AutoCommit} = 1; |
|
215 |
+By default, the following ones is set to database handle attributes. |
|
216 |
+ |
|
217 |
+ RaiseError -> 1 |
|
218 |
+ PrintError -> 0 |
|
219 |
+ AutoCommit -> 1 |
|
224 | 220 |
|
225 |
-���̐ݒ��s��Ă���̂ŁA�v���I�ȃG���[���N����ƁA |
|
226 |
-��O���������v���O�����͏I�����܂��B |
|
227 |
-�܂��N�G�������s�����Ǝ����I�ɃR�~�b�g����܂��B |
|
221 |
+If fatal error occuer, program terminate. |
|
222 |
+If SQL is executed, commit is executed automatically. |
|
228 | 223 |
|
229 | 224 |
=head2 2. �}��A�X�V�A�폜�A�I��̂��߂̃��\�b�h |
230 | 225 |
|
... | ... |
@@ -128,63 +128,56 @@ L<DBIx::Custom>では選択的な検索条件を持つWhere句を生成するこ |
128 | 128 |
|
129 | 129 |
=item 4. 挿入、更新、削除、選択を行うためのメソッド |
130 | 130 |
|
131 |
-L<DBIx::Custom>ではSQLをさらに簡単に実行するための |
|
132 |
-メソッドも提供しています。 |
|
133 |
-C<insert()>, C<update()>, C<delete()>,C<select()>などの |
|
134 |
-シュガーメソッドを使って、挿入、更新、削除、選択という操作を行うことが |
|
135 |
-できます。 |
|
131 |
+L<DBIx::Custom>では挿入、更新、削除、選択を行うための |
|
132 |
+メソッドを提供しています。 |
|
133 |
+C<insert()>, C<update()>, C<delete()>,C<select()>などがあります。 |
|
136 | 134 |
|
137 | 135 |
my $param = {title => 'Perl', author => 'Ken'}; |
138 | 136 |
$dbi->insert(table => 'book', param => $param); |
139 | 137 |
|
140 |
-=item 5. テーブル単位の操作の登録 |
|
138 |
+=item 5. テーブルのためのメソッドの登録 |
|
141 | 139 |
|
142 |
-テーブルに対して操作を登録することができます。これによって |
|
143 |
-テーブル名を繰り返し指定する必要がなくなり、ソースコードの |
|
144 |
-見通しが良くなります。 |
|
140 |
+テーブルのためにメソッドを登録することができます。 |
|
145 | 141 |
|
146 |
- $dbi->talbe('book', |
|
142 |
+ $dbi->table('book')->method( |
|
147 | 143 |
list => sub { |
148 | 144 |
... |
149 | 145 |
}, |
150 |
- list_somethin => sub { |
|
151 |
- |
|
146 |
+ something => sub { |
|
147 |
+ ... |
|
152 | 148 |
} |
153 | 149 |
); |
154 | 150 |
|
155 |
-登録したメソッドはそのまま利用することができます。 |
|
151 |
+メソッドの利用です。 |
|
156 | 152 |
|
157 | 153 |
$dbi->table('book')->list; |
158 | 154 |
|
159 |
-通常O/Rマッパはテーブルに対応するクラスを作成しなければ |
|
160 |
-ならないことが多いですが、L<DBIx::Custom>ではこの作業を簡便に |
|
161 |
-しており、上記のように登録することができます。 |
|
155 |
+多くのO/Rマッパではテーブルのためのクラスを作成する必要がありますが、 |
|
156 |
+L<DBIx::Custom>では簡単です。 |
|
162 | 157 |
|
163 | 158 |
=back |
164 | 159 |
|
165 |
-L<DBIx::Custom>はL<DBI>を補うとても便利なモジュールです。 |
|
166 |
-興味をもたれた方は、この後で詳しい解説を行いますので、 |
|
167 |
-ご覧になってみてください。 |
|
160 |
+L<DBIx::Custom>はとても便利です。 |
|
161 |
+興味をもたれた方は、続きをご覧になってみてください。 |
|
168 | 162 |
|
169 | 163 |
=head2 1. データベースへの接続 |
170 | 164 |
|
171 |
-まずL<DBIx::Custom>を読み込みます。 |
|
165 |
+L<DBIx::Custom>を読み込みます。 |
|
172 | 166 |
|
173 | 167 |
use DBIx::Custom; |
174 | 168 |
|
175 |
-L<DBIx::Custom>オブジェクトを生成し、データベースに接続するには |
|
176 |
-C<connect()>メソッドを使用します。 |
|
169 |
+データベースに接続するにはC<connect()>メソッドを使用します。 |
|
170 |
+戻り値はL<DBIx::Custom>オブジェクトです。 |
|
177 | 171 |
|
178 | 172 |
my $dbi = DBIx::Custom->connect( |
179 |
- data_source => "dbi:mysql:database=dbname", |
|
173 |
+ data_source => "dbi:mysql:database=bookstore", |
|
180 | 174 |
user => 'ken', |
181 | 175 |
password => '!LFKD%$&', |
182 | 176 |
dbi_options => {mysql_enable_utf8 => 1} |
183 | 177 |
); |
184 | 178 |
|
185 |
-C<data_source>はデータベースシステムに応じたフォーマットで |
|
186 |
-指定する必要があります。以下にデータベースごとのフォーマット |
|
187 |
-方法のサンプルを掲載しておきます。 |
|
179 |
+C<data_source>はデータベースシステムに応じたものである必要があります。 |
|
180 |
+以下はデータソースのサンプルです。 |
|
188 | 181 |
|
189 | 182 |
B<MySQL> |
190 | 183 |
|
... | ... |
@@ -213,11 +206,10 @@ B<ODBC(SQL Server)> |
213 | 206 |
|
214 | 207 |
"dbi:ODBC:driver={SQL Server};Server=(local);database=test;Trusted_Connection=yes;AutoTranslate=No;" |
215 | 208 |
|
216 |
-また認証が求められる場合は、C<user>とC<password>ユーザ名と |
|
217 |
-パスワードを指定する必要があります。 |
|
209 |
+認証が必要な場合は、C<user>とC<password>を指定できます。 |
|
218 | 210 |
|
219 |
-L<DBIx::Custom>はL<DBI>のラッパです。 |
|
220 |
-L<DBI>のデータベースハンドルはC<dbh>で取得することができます。 |
|
211 |
+L<DBIx::Custom>はL<DBI>のラッパークラスです。 |
|
212 |
+L<DBI>のデータベースハンドルは取得するにあhC<dbh()>を使用します。 |
|
221 | 213 |
|
222 | 214 |
my $dbh = $dbi->dbh; |
223 | 215 |
|
... | ... |
@@ -227,9 +219,8 @@ L<DBIx::Custom>ではデータベースハンドル属性にはデフォルト |
227 | 219 |
$dbi->dbh->{PrintError} = 0; |
228 | 220 |
$dbi->dbh->{AutoCommit} = 1; |
229 | 221 |
|
230 |
-この設定を行っているので、致命的なエラーが起こると、 |
|
231 |
-例外が発生しプログラムは終了します。 |
|
232 |
-またクエリが発行されると自動的にコミットされます。 |
|
222 |
+致命的なエラーが起こるとプログラムは終了します。 |
|
223 |
+SQLが実行されると自動的にコミットされます。 |
|
233 | 224 |
|
234 | 225 |
=head2 2. 挿入、更新、削除、選択のためのメソッド |
235 | 226 |
|