Mybatis之传多个参数方法总结
来源:互联网 发布:oracle sql性能优化 编辑:程序博客网 时间:2024/06/16 02:05
提出问题
Mybatis如何实现传多个参数???
解决问题
例一:把参数放到map中,看下面代码,有点多
Service层的代码:
public List<PcsTask> findByPmProjectIdAndLeaderId(String projectId) { String userId = SessionUtils.getCurrentUserId(); //查询参数 Map<String, Object> filter = new HashMap<>(); filter.put("leaderId", userId); filter.put("pmProjectId", projectId); return pcsTaskDAO.findByPmProjectIdAndLeaderId(filter); }
DAO中的接口:
public List<PcsTask> findByPmProjectIdAndLeaderId(Map<String,Object> filter);
Mapper文件
<select id="findByPmProjectIdAndLeaderId" resultType="com.evada.de.projcommand.model.PcsTask" parameterType="java.util.Map"> select * from pm_workitem pw where pw.pm_project_id = #{pmProjectId} and pw.leader_id = #{leaderId} and pw.workitem_status in ('1','2') and pw.status > '0' order by pw.plan_end_date asc </select>
例二:看下代码#{0},#{1}好像不是特别好
DAO层的函数方法
Public User selectUser(String name,String area);
Mapper文件
<select id="selectUser" resultMap="BaseResultMap"> select * from user_user_t where user_name = #{0} and user_area=#{1}</select>
其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参数一致往后加即可
例三:最推荐的方法,DAO和Mapper文件的代码量和参数都是最优的.
DAO层的函数方法
public ... findByStatus(@Param("mainTaskId") String mainTaskId, @Param("claimStatus") String claimStatus,@Param("subTaskStatus") String subTaskStatus);
Mapper文件
<select id="findByStatus" resultMap="PcsSubTaskDTOResultMap"> select pt.*,pw.code as task_code,pw.name as task_name from pm_workitem pw,pm_task pt where pt.status = '1' and pt.pm_workitem_id = pw.id and pt.pm_milestone_id = #{mainTaskId} <if test="claimStatus != null and claimStatus != ''"> and pt.claim_status = #{claimStatus} </if> <if test="subTaskStatus != null and subTaskStatus != ''"> and pt.task_status = #{subTaskStatus} </if> order by pt.code asc </select>
阅读全文
0 0
- Mybatis之传多个参数方法总结
- Mybatis之传多个参数方法总结
- MyBatis之传多个参数
- MyBatis传多个参数的方法
- Mybatis参数传递总结
- mybatis传递参数总结
- mybatis 参数传递总结
- MyBatis传多个参数的3种方法
- 【转】MyBatis传多个参数的方法
- MyBatis向sql语句传多个参数方法
- Mybatis方法参数一
- MyBatis之传入参数
- MyBatis之传入参数
- mybatis 之参数传递
- MyBatis之传入参数
- MyBatis之传入参数
- MyBatis之传入参数
- MyBatis之传入参数
- Hadoop2.8 安装心得
- UESTC 1599 wtmsb 优先队列(最小值优先)
- glide加载圆角图片
- tf.variable_scope和tf.name_scope的用法
- leetcode 108(week 14)
- Mybatis之传多个参数方法总结
- Linux新手路程_一些简单的操作命令
- Android UI优化之OverDraw
- flex
- java,python,shell,Scala写的99乘法表
- MATLAB学习笔记之-----绘制直方图
- android五种布局模式
- 进程间通信时读写阻塞的条件
- 温故而知新