Mybatis实体类属性名与数据库类名不对应的两种解决方法
生活随笔
收集整理的這篇文章主要介紹了
Mybatis实体类属性名与数据库类名不对应的两种解决方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在Mybatis開發時,如果 Bean的屬性名與數據庫的類名不一致時,CRUD將出現問題。
數據庫類名
Bean的屬性名:(默認)
調整Bean中的屬性名:(測試不一致)
此時原有代碼將會報錯,可預見的報錯為 java文件中所有用到set,與get方法的地方。
不可以預見的報錯,在配置文件中。
方法一{測試,有問題}
在配置文件中,將所有的屬性值調整成與Bean中的屬性名一致。
在插入和更新操作中不存在問題。問題來了!!!
在進行【查詢操作時】----->查詢所有!
只有username封裝到數據庫中了,其他字段都沒有被封裝到數據庫中!
原因:MySQL數據庫在Windows系統下區分大小寫!
所以只有username被封裝到了數據庫中!
解決辦法
1、使用別名
映射配置文件中修改
結果:
優點:執行效率高,因為是在SQL語句的層面上解問題。
2、配置resultMap
缺點:執行效率(多一次解析)較低
優點:開發效率變快,因為所有的查詢操作,都可以將resultType返回結果集改成resultMap,后續改造很便 利。如果使用第一種給 SQL 列表 起 別名,SQL語句改造量比較大。
總結
以上是生活随笔為你收集整理的Mybatis实体类属性名与数据库类名不对应的两种解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 准备配置windows请勿关闭计算机,要
- 下一篇: GoDaddy vs TMDHostin