产生此问题的原因是考虑mybatis实例与映射文件中的sql语句字段之间的关系。
mybatis的POJO只是“为了封装数据”。 在用sql语句查询数据后,将其封装到相应的POJO中时,必须确保字段与POJO的变量名称相同。 不一样的话就不能封装。 在这种情况下,只能通过添加别名或重命名变量来解决问题。
别名的作用只是为了将数据封装到POJO中相应的变量中。 当然,这是在你使用resultType时这么做的。 如果使用结果映射,就没有必要这样做。 你只需要自己设置字段对应的变量。
SQL语句在数据库中查询时仍然使用以前的名称进行查询,但在显示时使用别名进行显示。
mysql字段不区分大小写,并将默认查询转换为小写。 mysql对表名大小写的机密性要求因操作系统而异,默认设置与操作系统对大小写的机密性相同。
例如,win对大小写不敏感,默认mysql对大小写不敏感
Linux对大小写敏感,缺省mysql表名对大小写敏感
蚂蚁的java开发手册上写着:
MySQL在Windows上不区分大小写,但在Linux上默认区分大小写。 因此,数据库名、表名、字段名不允许出现大写字母,避免节外生枝。
但是,实际情况还是要根据公司的规则来改变。 不同公司可能使用的建筑表规格不同。 例如,我遇到的一个项目是字段全部大小写,表名设置为大小写不敏感。