| ... | ... |
@@ -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 |
|