Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2018
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.34 KB | None | 0 0
  1. /root_dir/lib/Mojo_App.pm
  2.  
  3. sub startup {
  4.     my $self = shift;
  5.  
  6.     # Load configuration from hash returned by "my_app.conf"
  7.     my $config = $self->plugin('Config');
  8.  
  9.     # Router
  10.     my $r = $self->routes;
  11.     # Normal route to controller
  12.     $r->get('/')->to('main#index');
  13.     $r->get('/test')->to('main#test_page');
  14.  
  15.     #db settings
  16.     my $db_config = {
  17.         db1 => {
  18.             host => 'dbi:Sybase:server=ip01;database=db01',
  19.             user => 'user01',
  20.             pass => 'pass01'
  21.         },
  22.         db2 => {
  23.             host => 'dbi:Sybase:server=ip02;database=db02',
  24.             user => 'user02',
  25.             pass => 'pass02'
  26.         },
  27.         db3 => {
  28.             host => 'dbi:Sybase:server=ip03;database=db03',
  29.             user => 'user03',
  30.             pass => 'pass03'
  31.         }
  32.     };
  33.  
  34.     #db helper
  35.     my %dbs;
  36.     $self->helper(db => sub {
  37.         use DBIx::Connector;
  38.         my ($self, $db_name) = @_;
  39.         if (exists($db_config->{$db_name})) {
  40.             $dbs{$db_name} = DBIx::Connector->new($db_config->{$db_name}->{host}, $db_config->{$db_name}->{user}, $db_config->{$db_name}->{pass}, {
  41.                 RaiseError => 1,
  42.                 AutoCommit => 1
  43.             });
  44.             return $dbs{$db_name};
  45.         } else {
  46.             return "db_name not in db_config";
  47.         }
  48.     });
  49.  
  50. }
  51.  
  52.  
  53. /root_dir/lib/Controller/Main.pm
  54.  
  55. sub index {
  56.     my $self = shift;
  57.     my $dbh = $self->db('db1')->dbh();
  58.     my $test = $dbh->selectall_arrayref('select * from test1', { Slice => {} });
  59.    
  60.     $self->render();
  61.  
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement