在Mybatis开发时,如果 Bean的属性名与数据库的类名不一致时,CRUD将出现问题。
数据库类名

Bean的属性名:(默认)

调整Bean中的属性名:(测试不一致)

此时原有代码将会报错,可预见的报错为 java文件中所有用到set,与get方法的地方。
不可以预见的报错,在配置文件中。

方法一{测试,有问题}
在配置文件中,将所有的属性值调整成与Bean中的属性名一致。
在插入和更新操作中不存在问题。问题来了!!!
在进行【查询操作时】----->查询所有!

只有username封装到数据库中了,其他字段都没有被封装到数据库中!
原因:MySQL数据库在Windows系统下区分大小写!

所以只有username被封装到了数据库中!
解决办法
1、使用别名
映射配置文件中修改

结果:

优点:执行效率高,因为是在SQL语句的层面上解问题。
2、配置resultMap


缺点:执行效率(多一次解析)较低
优点:开发效率变快,因为所有的查询操作,都可以将resultType返回结果集改成resultMap,后续改造很便 利。如果使用第一种给 SQL 列表 起 别名,SQL语句改造量比较大。