mybatis的mapper的返回類型 mybatis怎么返回null值返回類型是個(gè)map?
mybatis怎么返回null值返回類型是個(gè)map?創(chuàng)建mybatis-配置xml123456789<?xmlversion=“1.0”編碼=“UTF-8”?><!DOCTYPEconfi
mybatis怎么返回null值返回類型是個(gè)map?
創(chuàng)建mybatis-配置xml123456789<?xmlversion=“1.0”編碼=“UTF-8”?><!DOCTYPEconfigurationPUBLIC“-//mybatis.org//DTDConfig3.0//EN“”http://mybatis.org/dtd/mybatis-3-config.dtd“><配置><設(shè)置><!--當(dāng)返回?cái)?shù)據(jù)類型為map時(shí),setting CALLSETERSONNULLS也將返回值為null的鍵--><settingname=“callset Tersonnulls”value=“true”/></settings></configuration>,配置sqlsessionfactory bean123456789<beanid=“sqlsessionfactory”class=“org.mybatis.spring公司.SqlSessionFactoryBean“><propertyname=”dataSource“ref=”dataSource“/><propertyname=”configLocation“value=”類路徑:/META-INF/spring/mybatis-配置.xml“/><propertyname=”mapperLocations“><array><value>classpath*:/yunnex/saofu/shop/beibao/mappe
~映射參數(shù).java當(dāng)需要mybatis返回map時(shí),需要將參數(shù)類型指定為mapparam,可以通過構(gòu)造函數(shù)分別指定key
在mybatis中,選擇和映射查詢時(shí),返回類型可以是resulttype或resultmap。Resulttype直接表示返回類型,resultmap表示外部resultmap,但Resulttype和resultmap不能同時(shí)存在。在mybatis執(zhí)行查詢映射時(shí),實(shí)際上,找到的每個(gè)屬性都放在一個(gè)對應(yīng)的映射中,其中鍵是屬性名,值是對應(yīng)的值。當(dāng)提供的返回類型屬性為resulttype時(shí),mybatis會(huì)取出映射中的鍵值對,并將其賦給resulttype指定的對象的相應(yīng)屬性。所以實(shí)際上,mybatis中每個(gè)查詢映射的返回類型都是resultmap。只有當(dāng)我們提供的返回類型屬性是resulttype時(shí),mybatis才會(huì)自動(dòng)將相應(yīng)的值賦給resulttype指定的對象的屬性。當(dāng)我們提供的返回類型是resultmap時(shí),由于map不能很好地表示域模型,我們需要自己進(jìn)一步做,它被轉(zhuǎn)換成相應(yīng)的對象,這在復(fù)雜的查詢中非常有用。
mybatis怎么返回一個(gè)map?
Batis中還有兩種類型的返回值參數(shù):resultmap和resultclass。這兩種類型的選擇可以用兩句話來解釋:首先,當(dāng)結(jié)果集的列名與類的屬性名完全對應(yīng)時(shí),可以用resultclass直接指定查詢結(jié)果類型。
第二:當(dāng)查詢結(jié)果集與屬性名不對應(yīng)時(shí),可以使用resultmap指定列名與對象屬性名的對應(yīng)關(guān)系,否則不對應(yīng)的屬性為空或0。