int的jdbctype,什么時候使用resulttype_mybatis什么時候用resulttype 什么時候用resultmap

 2023-11-19 阅读 38 评论 0

摘要:如果你搜索只是返回一個值,比如說String ,或者是int,那你直接用resultType就行了。但是你如果是返回一個復雜的對象,就必須定義好這個對象的resultMap的result map。舉個例子吧,例子以ibatis為例:你有個User 對象, 擁有兩個

如果你搜索只是返回一個值,比如說String ,或者是int,那你直接用resultType就行了。

但是你如果是返回一個復雜的對象,就必須定義好這個對象的resultMap的result map。

舉個例子吧,例子以ibatis為例:

你有個User 對象, 擁有兩個字段id,name。

int的jdbctype、1.你要獲取id為123的name

String name = (String) queryForObject("getUserNameByID", id);

Select name from User where id =#id#

2.你要獲取整個User對象

User user = (User) queryForObject("getUserByID", id);

javatype和oftype,Select ID,NAME from User where id =#id#

追問

但是,resultType 也可以返回一個對象

Select * from User where id =#id#

也可以返回一個封裝的對象啊

mybatis?這個跟resultMap是一樣的效果

那什么時候是用resultType解決不了的呢?只能用resultMap

追答

你要是反回這個對象用result type,就必須返回這個對象所有信息了,而且沒有任何設置,適用用普通的完整返回。

但你用resultmap,因為resultmap,因為resultmap那段是我們自己指定的,可能指定的屬性只是User的一部分,而且還可以設置默認值,這是result type做不到的:

mybatis注解返回map?resultMap里面只定義 name

Select NAME from User where id =#id#

Mybatis中輸出映射resultType與resultMap的區別

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/185025.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息