mybatis查询结果为空时的返回值问题
先贴出配置文件
<select id="queryUserGroupByName" resultType="UserGroupModel"> select * from user_group where roleName=‘user‘ and groupName=#{groupName} </select>
对应的mapper
List<UserGroupModel>queryUserGroupByName(String groupName);
在写逻辑的时候发现,如果数据为空时,返回值并不是null
@ResponseBody @RequestMapping("/addGroup") public WebResultDto insertUserGroup(String groupName,String stoArea){ WebResultDto webResultDto = null; if(userInfoService.queryUserGroupByName(groupName) != null) { //已有重复用户名 System.out.println(userInfoService.queryUserGroupByName(groupName)); webResultDto = new WebResultDto("", "N", "此用户名已被注册!"); }else { userInfoService.insertUserGroup(groupName, stoArea); webResultDto = new WebResultDto("","Y",""); } return webResultDto; }
例如上述代码 userInfoService.queryUserGroupByName(groupName)就不可能为null。
网上查了一下,在mybatis中
如果返回值是Java集合类型,如List、Map,会先初始化(new一个集合对象),再把结果添加进去。
如果返回值是普通对象,查询不到时,返回值是null。
解决方案:service层稍做处理
@Override public List<UserGroupModel> queryUserGroupByName(String groupName) { // TODO Auto-generated method stub List<UserGroupModel> res = dao.queryUserGroupByName(groupName); if(res.size() == 0) { return null; } return res; }
相关推荐
83510998 2020-07-18
thickbookszone 2020-06-14
xiaonamylove 2020-06-14
天高任鸟飞 2020-06-04
Magicsoftware 2020-06-01
Reiki 2020-05-04
小菜鸟的代码世界 2020-05-04
whynotgonow 2020-04-26
zcyuefan 2020-04-19
神龙 2020-02-10
ajaxtony 2020-02-03
HongKongPython 2020-01-30
GoatSucker 2020-01-24
liuyang000 2020-01-24
狼窝 2019-12-12
yunfenglee 2019-12-05