文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Class::DBI文档翻译(2)

Class::DBI文档翻译(2)

时间:2005-11-01  来源:含笑汉

模块介绍

如何搭建

一.模块介绍

Class::DBI模块提供了一个数据库联接的简单抽象层。

它不仅提供了一个对象-关系映射层,还在应用层次上提供了一些更为复杂的数据库机制实现接口函数(如触发、参照完整性、级联删除等)。当你使用的数据库不支持这些机制或者是当你使用多个数据库,而这些数据库实现这些机制的方法不完全相同时,Class::DBI提供的这些接口对你就非常的有用了。

简而言之,Class::DBI的目标就是使得对存储于关系型数据库中的数据的操作变的简单。

二.如何搭建

1.必须条件

a.数据库必须建好;

b.DBI.pm模块必须已经安装;

c.数据库的驱动模块DBD:: driver必须已经安装。关于DBI模块及数据库的驱动模块的详细信息请参考,DBI相关文档。

2.为要存储的对象建表

Class::DBI模块使得数据对象与数据库中的表形成一对一的关系,所以要想使用该模块,你就必须在数据库中建立相应的表。

使用上面的CD的例子,我们可以通过如下语句建立cd表:

CREATE TABLE cd (

cdid INTEGER PRIMARY KEY,

artist INTEGER, # references 'artist'

title VARCHAR(255),

year CHAR(4),

);

3.创建一个应用基类

总的来说,创建一个基类以供以后的数据类继承,要比每个数据类都要直接继承Class::DBI要省事的多。这样也便于用户对Class::DBI的方法进行重载和扩展。

package Music::DBI;

use base 'Class::DBI';

4.建立数据库联接

Class::DBI需要知道如何联接数据库,这是通过DBI的set_db方法实现的。

Music::DBI->set_db('Main', 'dbi:mysql:dbname', 'user', 'password');

通过继承基类的连接,所有的数据类共享这一联接。Set_db的第一个参数是数据库联接的名称,在这里必须设置为“Main”,至于原因请参考Ima::DBI中的set_db()方法。

5.创建数据类

package Music::CD;

use base 'Music::DBI';

因为每个数据类都继承至数据基类,所以就不必每次都要写那些数据库联接的代码。

6.声明对应表的名称

Music::CD->table('cd');

7.声明字段

Music::CD->columns(All => qw/cdid artist title year/);

这里你只是简单的将所有的字段都罗列出来(对于key键单一的表),但是对于那些key键为多字段的表来说,就应该进行如下的声明:

Music::CD->columns(Primary => qw/pk1 pk2/);

Music::CD->columns(Others => qw/foo bar baz/);

关于如何更有效的使用columns,请参考下面的“懒人思想”部分。

Ok,到这里你就已经拥有了一个数据类,该类不但具有create、retrieve、search、update以及delete等方法对所对应的表进行操作,而且还可以使用accessors、mutators等对该类的columns进行操作。

相关阅读 更多 +
排行榜 更多 +
地狱摩托游戏最新版下载

地狱摩托游戏最新版下载

赛车竞速 下载
小猫快来钓鱼游戏下载

小猫快来钓鱼游戏下载

休闲益智 下载
殴打氪金大佬昊天手游下载

殴打氪金大佬昊天手游下载

休闲益智 下载