I believe its better to define the default NameMapper as: sqlstruct.NameMapper = func (a string) string { return a } since in most condition, users just want to use the value they defined in the "sql" tag. Not lower them as it is now...