It does some of that, but not all. For example, Class::DBI::mysql lets you do this:
in reply to Re^3: Why did DBIC overtake CDBI?
in thread Why did DBIC overtake CDBI?
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.
__PACKAGE__->autoinflate(dates => 'Time::Piece');
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.