关于mybatis的resultMap使用问题

slade_yu 2015-04-07 09:49:43
最近在做一个项目,想要实现dao类的一个方法,通过传入不同的参数使其选择不同的resultMap来接收数据,有办法实现吗?
...全文
222 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kongshiran 2015-04-08
  • 打赏
  • 举报
回复
在dao里面将一个map传过去,将你的所有需要的参数封装,然后在mapper.xml文件中的sql语句里面做判断,符合条件的参数用来查询,不符合的参数不用来查询 这是我之前做的例子,自己融会贯通改一下 dao中: Map<String, Object> params = new HashMap<>(4); if (StringUtils.notTrimEmpty(name)) { params.put("name", name); } if (ObjectUtils.notEmpty(departmentId)) { params.put("departmentId", departmentId); } if (StringUtils.notTrimEmpty(departmentName)) { params.put("departmentName", departmentName); } if (ObjectUtils.notEmpty(lastAccess)) { params.put("lastAccess", lastAccess); } return dao.query(params); mapper.xml文件中 <select id="query" resultType="Employee" parameterType="map"> select * from employee <where> <if test="name != null"> AND name = #{name} </if> <if test="departmentId != null"> AND departmentId = #{departmentId} </if> <if test="departmentName != null"> AND departmentName = #{departmentName} </if> <if test="lastAccess != null"> AND lastAccess = #{lastAccess} </if> </where> </select>
maxldwy 2015-04-07
  • 打赏
  • 举报
回复
判断参数类型然后选择对应的map? 太麻烦了吧,这样你调用dao的action类不也得做判断然后改map么,不如一个map对应一个dao,在action里对参数判断然后调用不同的dao

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧