如何通过MyBatis实现查询并返回列表数据?

2026-04-30 06:492阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计598个文字,预计阅读时间需要3分钟。

如何通过MyBatis实现查询并返回列表数据?

如下所示:

伪原创改写:

原内容:sql* 只需设定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 RSSETTING rssetting on rs.SETTING_ID=rssetting.ID

改写后:sql* 设置resultType参数,无需resultMap,即可实现查询:select id as 'selectByPage' paramType='java.util.Map' resultType='java.util.Map' select rs.*, rssetting.*, cp.STOCK_CODE, cp.UNAME from RS rs left outer join RSSETTING rssetting on rs.SETTING_ID=rssetting.ID

如下所示:

**只要设定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

如何通过MyBatis实现查询并返回列表数据?

<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类型数据操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

本文共计598个文字,预计阅读时间需要3分钟。

如何通过MyBatis实现查询并返回列表数据?

如下所示:

伪原创改写:

原内容:sql* 只需设定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 RSSETTING rssetting on rs.SETTING_ID=rssetting.ID

改写后:sql* 设置resultType参数,无需resultMap,即可实现查询:select id as 'selectByPage' paramType='java.util.Map' resultType='java.util.Map' select rs.*, rssetting.*, cp.STOCK_CODE, cp.UNAME from RS rs left outer join RSSETTING rssetting on rs.SETTING_ID=rssetting.ID

如下所示:

**只要设定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

如何通过MyBatis实现查询并返回列表数据?

<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类型数据操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。