Files
car_rental/backend/src/main/resources/mappers/CarMapper.xml
王子琦 f006ed4c89 add
2026-01-14 15:11:25 +08:00

72 lines
2.8 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.car.mapper.CarMapper">
<resultMap id="CarMap" type="com.car.entity.Car">
<id column="id" property="id"/>
<result column="brand" property="brand"/>
<result column="model" property="model"/>
<result column="plate_no" property="plateNo"/>
<result column="price_per_day" property="pricePerDay"/>
<result column="deposit" property="deposit"/>
<result column="status" property="status"/>
<result column="is_special" property="isSpecial"/>
<result column="images" property="images"/>
<result column="description" property="description"/>
<result column="seats" property="seats"/>
<result column="transmission" property="transmission"/>
<result column="fuel_type" property="fuelType"/>
<result column="mileage" property="mileage"/>
<result column="created_at" property="createdAt"/>
<result column="updated_at" property="updatedAt"/>
</resultMap>
<select id="findById" resultMap="CarMap">
select * from cars where id = #{id}
</select>
<select id="findAll" resultMap="CarMap">
select * from cars
<where>
<if test="keyword != null and keyword != ''">
(brand like concat('%', #{keyword}, '%')
or model like concat('%', #{keyword}, '%')
or plate_no like concat('%', #{keyword}, '%'))
</if>
<if test="isSpecial != null">
and is_special = #{isSpecial}
</if>
</where>
order by id desc
</select>
<insert id="insert" useGeneratedKeys="true" keyProperty="id">
insert into cars(brand, model, plate_no, price_per_day, deposit, status, is_special, images, description, seats, transmission, fuel_type, mileage, created_at, updated_at)
values (#{brand}, #{model}, #{plateNo}, #{pricePerDay}, #{deposit}, #{status}, #{isSpecial}, #{images}, #{description}, #{seats}, #{transmission}, #{fuelType}, #{mileage}, now(), now())
</insert>
<update id="update">
update cars
set brand = #{brand},
model = #{model},
plate_no = #{plateNo},
price_per_day = #{pricePerDay},
deposit = #{deposit},
status = #{status},
is_special = #{isSpecial},
images = #{images},
description = #{description},
seats = #{seats},
transmission = #{transmission},
fuel_type = #{fuelType},
mileage = #{mileage},
updated_at = now()
where id = #{id}
</update>
<delete id="delete">
delete from cars where id = #{id}
</delete>
</mapper>