如下所示: **只要设定resultType而不设定resultMap就可以了**: select id = “selectByPage” parameterType = “java.util.Map”resultType=“java.util.Map” select rs.*, rssetting.*, cp.STOCK_CODE, cp.UNAME from RS rsleft
          如下所示:
**只要设定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
