It does some of that, but not all. For example, Class::DBI::mysql
lets you do this:
__PACKAGE__->autoinflate(dates => 'Time::Piece');
It can also retrieve the accepted list of values for an ENUM column. Tim Bunce posted some code that went further to add automatic value checking based on column type, but it was never formally released as a module.
These days I would advise people to use one of the newer ORMs instead, but Class::DBI's weaknesses are mostly in the SQL generation area, not in auto-discovery.