1. 程式人生 > 程式設計 >mybatis查詢實現返回List<Map>型別資料操作

mybatis查詢實現返回List<Map>型別資料操作

如下所示:

**只要設定resultType而不設定resultMap就可以了**:

< select id = “selectByPage” parameterType = “java.util.Map”
resultType=“java.util.Map” >

select rs.*,rssetting.*,cp.STOCK_CODE,cp.UNAME from RS rs
left join T_COMPANY cp on rs.uid = cp.uid
left join RS_ROADSHOW_SETTING rssetting on rssetting.rs_id = rs.id
where rs.TYPE_ID != 1
< if test = “qKeyWord != null” >
and rs.title like #{rsTitle}
</ if >
order by rs.crt_time desc limit #{pageIndex},#{pageSize}

</select>

MyBatis查詢,返回值Map或List<Map>

一、返回值Map

<select id=”selectUserMapLimitOne” resultType=”java.util.HashMap”> 
 select id,name 
 from 
 user order by id desc limit 1 
</select> 

2、介面定義

/** 
 * 獲取僅含一個的map(map的size=欄位個數) 
 * @return 
 */ 
Map<String,Object> selectUserMapLimitOne(); 

二、返回值List<Map>

1、mapper.xml

<select id=”selectUserMapList” resultType=”java.util.HashMap”> 
 select id,name from 
 user order by id desc limit 2 
</select> 

2、介面定義

/** 
 * 獲取map list 
 * @return 
 */ 
List<Map<String,Object>> selectUserMapList();

補充知識:SpringBoot使用@Value給靜態變數注入值

最近在專案中遇到一個問題:

在給static修飾的變數做@Value注入時,發現變數值為null,在網上查了些資料,發現@Value只能給普通變數做值注入,那麼如何給靜態變數做值注入呢?

解決辦法:

1、先在類名上加@Component註解

2、然後再使用setXxxxxx(abc)方法,並在setXxxxxx(abc)上面加上@Value註解,如下:

 @Value("${domain}")
 public void setDomain(String domain) {
 DomainUtil.domain = domain;
 }

ps:

1、如果是IDE生成的set方法,會在方法上帶上static修飾符,這樣是不行的,需要去掉static修飾符

2、如果set方法中的引數跟static變數同名,那麼不能用this來指向static變數,而需要用類名來限定

以上這篇mybatis查詢實現返回List型別資料操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。