在Mybatis中使用注解@多个參数查询
2015-01-22 20:03
316 查看
@Select("SELECT * FROM wc_homework WHERE organization_id=#{classId} ORDER BY createtime DESC LIMIT #{start},#{count}")
@Results({
@Result(column = "course_id", property = "course_id"),
@Result(column = "homework_id", property = "homework_id"),
@Result(column = "organization_id", property = "organization_id"),
@Result(property = "course", column = "course_id", one = @One(select = "selectCourse")),
@Result(property = "viewTotalNum", column = "organization_id", one = @One(select = "SelectStudentCount")),
@Result(property = "attachments", javaType = List.class, column = "homework_id", many = @Many(select = "selectAttachments")),
@Result(property = "viewNum",column = "{homework_id = homework_id,organization_id = organization_id}",one = @One(select = "selectViewCounts")),
@Result(property = "feedbackNum",column = "{homework_id = homework_id,organization_id = organization_id}",one = @One(select = "selectFeedbackCounts"))
})
List<HomeworkExt> selectByClassId(@Param("classId") Long classId, @Param("start") int start, @Param("count") int count);
上面的 @Result(property = "feedbackNum",column = "{homework_id = homework_id,organization_id = organization_id}",one = @One(select = "selectFeedbackCounts"))
最后一行,通过传入两个參数查询:相应以下的Map键值对。
@Select("SELECT COUNT(DISTINCT f.user_id) FROM wc_homework_log_see ws INNER JOIN \n" +
"(SELECT wu.user_id, wf.`family_user_id` FROM wc_organization_user wu INNER JOIN wc_family wf ON wu.`user_id` = wf.`student_id` \n" +
"WHERE wu.`organization_id` = #{organization_id} AND wu.`role_id` = 4) f ON f.family_user_id = ws.`user_id` \n" +
"WHERE ws.`homework_id` = #{homework_id}")
int selectViewCounts(Map<String,Object> map);
@Results({
@Result(column = "course_id", property = "course_id"),
@Result(column = "homework_id", property = "homework_id"),
@Result(column = "organization_id", property = "organization_id"),
@Result(property = "course", column = "course_id", one = @One(select = "selectCourse")),
@Result(property = "viewTotalNum", column = "organization_id", one = @One(select = "SelectStudentCount")),
@Result(property = "attachments", javaType = List.class, column = "homework_id", many = @Many(select = "selectAttachments")),
@Result(property = "viewNum",column = "{homework_id = homework_id,organization_id = organization_id}",one = @One(select = "selectViewCounts")),
@Result(property = "feedbackNum",column = "{homework_id = homework_id,organization_id = organization_id}",one = @One(select = "selectFeedbackCounts"))
})
List<HomeworkExt> selectByClassId(@Param("classId") Long classId, @Param("start") int start, @Param("count") int count);
上面的 @Result(property = "feedbackNum",column = "{homework_id = homework_id,organization_id = organization_id}",one = @One(select = "selectFeedbackCounts"))
最后一行,通过传入两个參数查询:相应以下的Map键值对。
@Select("SELECT COUNT(DISTINCT f.user_id) FROM wc_homework_log_see ws INNER JOIN \n" +
"(SELECT wu.user_id, wf.`family_user_id` FROM wc_organization_user wu INNER JOIN wc_family wf ON wu.`user_id` = wf.`student_id` \n" +
"WHERE wu.`organization_id` = #{organization_id} AND wu.`role_id` = 4) f ON f.family_user_id = ws.`user_id` \n" +
"WHERE ws.`homework_id` = #{homework_id}")
int selectViewCounts(Map<String,Object> map);
相关文章推荐
- 第二章 mybatis使用注解实现in查询(mysql)
- 第二章 mybatis使用注解实现in查询(mysql)
- MyBatis使用@MapKey注解接收多个查询记录到Map中,以便方便地用get()方法获取字段的值
- 使用MyBatis(二)使用java注解查询单行数据
- SpringBoot使用Mybatis注解进行一对多和多对多查询
- MyBatis框架核心之(五)注解使用resultMap及多表查询
- 在Mybatis中使用注解@多个参数查询
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
- mybatis使用select语句进行关联查询
- mybatis中使用in查询时的注意事项
- MyBatis使用Collection查询多对多或一对多结果集bug
- MyBatis 3 使用注解配置SQL映射器
- 玩转SSH之Spring(一)---关于Srping框架中使用@query注解实现复杂查询
- hibernate 使用注解 查询和添加对象到数据库没有反应
- 使用mybatis查询数据,按特定顺序排序
- 如何在mybatis SQL查询中使用IN
- mybatis 使用 and和or联合查询
- mybatis 使用oracle查询返回结果总是null
- Mybatis使用多个参数查询