Chinaunix首页 | 论坛 | 博客
  • 博客访问: 206955
  • 博文数量: 39
  • 博客积分: 1057
  • 博客等级: 准尉
  • 技术积分: 926
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-27 20:13
文章分类

全部博文(39)

文章存档

2012年(24)

2011年(15)

分类: Python/Ruby

2012-04-18 15:21:56


很多程序都需要连接数据库,所以可以将数据库的连接信息做成一个模块(全局配置文件),在需要的程序之间共享,利用perl模块可以导出自己符号表这个特性来实现共享数据库连接的配置文件。其他类似的情况都推荐这种处理方式。

直接给出例子

DBConfig.pm   数据库连接信息存放在这个模块中

点击(此处)折叠或打开

  1. # 来源: Lover的工具小屋
  2. # author: Lover
  3. package DBConfig;
  4. use strict;
  5. use warnings;
  6. require Exporter;
  7. our @ISA = qw(Exporter);
  8. our @EXPORT = qw(%db_config);    # 默认导出的变量列表

  9. # 公用的数据库连接信息
  10. our %db_config = (
  11.                       database => 'tmp_ygfs',
  12.                       username => 'lover',
  13.                       password => 'bloodiron888@gmail.com',
  14.                       dbhost   => 'localhost',
  15.                       dbport   => '3306',
  16.                                   );

  17. 1;
app.pl   需要连接数据库进行一些操作的程序

点击(此处)折叠或打开

  1. # 来源: Lover的工具小屋
  2. # author: Lover
  3. use strict;
  4. use warnings;
  5. use lib ("/root/perl/Wed");
  6. use DBConfig;   # 使用这个模块
  7. use DBI;
  8.  
  9. my $dbh = DBI->connect("DBI:mysql:database=$db_config{database};host=$db_config{dbhost};port=$db_config{dbport}",$db_config{username},$db_config{password})
  10.              or die "connect database failure!";

  11. my $sql = "some sql statement";
  12. my $sth = $dbh->prepare($sql)
  13.              or die $dbh->errstr;
  14. my $rows = $sth->execute()
  15.              or die $dbh->errstr;
  16. while (my @row = $sth->fetchrow_array()){
  17.         do something ...
  18. }

可以看出来,我们可以通过类似的方法来管理一些全局通用的配置文件,复杂程度和数据存放形式不限。


阅读(2046) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~