ActivityMapper.xml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.example.cinema.data.ActivityMapper">
  4. <insert id="insertActivity" parameterType="com.example.cinema.po.Activity"
  5. useGeneratedKeys="true" keyProperty="id">
  6. insert into activity(a_description,activity_name,coupon_id,start_time,end_time)
  7. values(#{description},#{name},#{couponId},#{startTime},#{endTime})
  8. </insert>
  9. <insert id="insertActivityAndMovie">
  10. insert into activity_movie(activity_id,movie_id) values
  11. <foreach collection="movieId" item="item" index="index"
  12. separator=",">
  13. (#{activityId},#{item})
  14. </foreach>
  15. </insert>
  16. <select id="selectById" resultMap="Activity">
  17. select
  18. *
  19. from
  20. activity a
  21. left join
  22. activity_movie am
  23. on
  24. a.id=am.activity_id
  25. left join
  26. movie m
  27. on
  28. am.movie_id=m.id
  29. WHERE a.id=#{id}
  30. </select>
  31. <select id="selectActivities" resultMap="Activity">
  32. select
  33. *
  34. from
  35. activity a
  36. left join
  37. activity_movie am
  38. on
  39. a.id=am.activity_id
  40. left join
  41. movie m
  42. on
  43. am.movie_id=m.id
  44. </select>
  45. <select id="selectActivitiesByMovie" resultMap="Activity">
  46. select
  47. *
  48. from
  49. activity a
  50. left join
  51. activity_movie am
  52. on
  53. a.id=am.activity_id
  54. left join
  55. movie m
  56. on
  57. am.movie_id=m.id
  58. where a.start_time &lt; Now() and a.end_time &gt; Now() and am.movie_id=#{movieId}
  59. </select>
  60. <select id="selectActivitiesWithoutMovie" resultMap="Activity">
  61. select
  62. *
  63. from
  64. activity a
  65. left join
  66. activity_movie am
  67. on
  68. a.id=am.activity_id
  69. where a.start_time &lt; Now() and a.end_time &gt; Now() and movie_id is null
  70. </select>
  71. <resultMap id="Activity" type="com.example.cinema.vo.ActivityVO">
  72. <result column="a_description" property="description"></result>
  73. <result column="id" property="id"></result>
  74. <result column="activity_name" property="name"></result>
  75. <result column="start_time" property="startTime"></result>
  76. <result column="end_time" property="endTime"></result>
  77. <association property="coupon" column="coupon_id" select="com.example.cinema.data.CouponMapper.selectById">
  78. </association>
  79. <collection property="movieList" ofType="com.example.cinema.vo.MovieVO">
  80. <id column="movie_id" property="id"></id>
  81. <result column="poster_url" property="posterUrl"></result>
  82. <result column="screen_writer" property="screenWriter"></result>
  83. <result column="start_date" property="startDate"></result>
  84. <result column="end_date" property="endDate"></result>
  85. <result column="name" property="name"></result>
  86. <result column="director" property="director"></result>
  87. <result column="type" property="type"></result>
  88. <result column="country" property="country"></result>
  89. <result column="language" property="language"></result>
  90. <result column="length" property="length"></result>
  91. <result column="description" property="description"></result>
  92. <result column="status" property="status"></result>
  93. <result column="starring" property="starring"></result>
  94. </collection>
  95. </resultMap>
  96. </mapper>