MovieMapper.xml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536
  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.MovieMapper">
  4. <insert id="insertOneMovie" parameterType="com.example.cinema.vo.MovieForm"
  5. useGeneratedKeys="true" keyProperty="id">
  6. insert into movie(name, poster_url, director, screen_writer, starring, type, country, language, length, start_date, description, status)
  7. values(#{name}, #{posterUrl}, #{director}, #{screenWriter}, #{starring}, #{type}, #{country}, #{language}, #{length}, #{startDate}, #{description},#{status})
  8. </insert>
  9. <select id="selectMovieById" resultMap="Movie">
  10. select * from movie where id = #{id}
  11. </select>
  12. <select id="selectMovieByIdAndUserId" resultMap="Movie">
  13. select * from (select * from movie m,(select count(*) as isLike from movie_like ml where ml.movie_id = #{id} and ml.user_id = #{userId}) ik where id = #{id}) a
  14. left join (select l.movie_id as id, count(*) as likeCount from movie_like l where l.movie_id = #{id}) b on a.id = b.id
  15. </select>
  16. <select id="selectAllMovie" resultMap="Movie">
  17. select * from movie m left join (select l.movie_id, count(*) as likeCount from movie_like l group by l.movie_id) l on m.id = l.movie_id
  18. </select>
  19. <select id="selectMovieByKeyword" resultMap="Movie">
  20. select * from movie as m where concat(m.name,m.description,m.type,m.starring,m.type)
  21. like concat('%',#{keyword},'%');
  22. </select>
  23. <resultMap id="Movie" type="com.example.cinema.vo.MovieVO">
  24. <id column="id" property="id"></id>
  25. <result column="poster_url" property="posterUrl"></result>
  26. <result column="screen_writer" property="screenWriter"></result>
  27. <result column="start_date" property="startDate"></result>
  28. <result column="end_date" property="endDate"></result>
  29. </resultMap>
  30. </mapper>