1、采用XML映射文件的形式来映射sql语句;
2、采用动态sql语句的方式,实现条件查询的分页。
<?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.caz.mapper.FilmMapper">
<!-- 查询 -->
<select id="list" resultType="com.caz.pojo.Film">
select *
from film
</select>
<!-- 条件分页查询 -->
<select id="list_chaxun" resultType="com.caz.pojo.Film">
SELECT * FROM film
<where>
<if test="name != null and name != ''">
AND name LIKE CONCAT('%', #{name}, '%')
</if>
<if test="director != null and director != ''">
AND director LIKE CONCAT('%', #{director}, '%')
</if>
<if test="startDate != null and endDate != null">
AND `date` BETWEEN #{startDate} AND #{endDate}
</if>
</where>
</select>
<!--根据id删除-->
<delete id="deleteById" parameterType="java.lang.Integer">
delete
from film
where id = #{id}
</delete>
<select id="getById" resultType="com.caz.pojo.Film">
select * from film
<where>
id= #{id}
</where>
</select>
<update id="update">
update film
<set>
<if test="name != null and name != ''">
name = #{name},
</if>
<if test="date != null">
`date` = #{date,jdbcType=DATE},
</if>
<if test="director != null and director != ''">
director = #{director},
</if>
<if test="actor != null and actor != ''">
actor = #{actor},
</if>
<if test="style != null and style != ''">
style = #{style},
</if>
<if test="description != null and description != ''">
description = #{description},
</if>
</set>
where id = #{id}
</update>
<insert id="insert">
INSERT INTO film (id, name, date, director, actor, style, description)
VALUES (#{id}, #{name}, #{date}, #{director}, #{actor}, #{style}, #{description})
</insert>
</mapper>