| 123456789101112131415161718192021222324252627282930313233343536 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.example.cinema.data.MovieMapper">
- <insert id="insertOneMovie" parameterType="com.example.cinema.vo.MovieForm"
- useGeneratedKeys="true" keyProperty="id">
- insert into movie(name, poster_url, director, screen_writer, starring, type, country, language, length, start_date, description, status)
- values(#{name}, #{posterUrl}, #{director}, #{screenWriter}, #{starring}, #{type}, #{country}, #{language}, #{length}, #{startDate}, #{description},#{status})
- </insert>
- <select id="selectMovieById" resultMap="Movie">
- select * from movie where id = #{id}
- </select>
- <select id="selectMovieByIdAndUserId" resultMap="Movie">
- 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
- 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
- </select>
- <select id="selectAllMovie" resultMap="Movie">
- 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
- </select>
- <select id="selectMovieByKeyword" resultMap="Movie">
- select * from movie as m where concat(m.name,m.description,m.type,m.starring,m.type)
- like concat('%',#{keyword},'%');
- </select>
- <resultMap id="Movie" type="com.example.cinema.vo.MovieVO">
- <id column="id" property="id"></id>
- <result column="poster_url" property="posterUrl"></result>
- <result column="screen_writer" property="screenWriter"></result>
- <result column="start_date" property="startDate"></result>
- <result column="end_date" property="endDate"></result>
- </resultMap>
- </mapper>
|