You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
2.1 KiB

<?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.crawler.mapper.MarketDataMapper">
<insert id="insert" parameterType="com.example.crawler.model.MarketData">
INSERT INTO market_data (variety, trade_date, open_price, close_price,
high_price, low_price, volume, change_rate, create_time, source)
VALUES (#{variety}, #{tradeDate}, #{openPrice}, #{closePrice},
#{highPrice}, #{lowPrice}, #{volume}, #{changeRate}, CURRENT_TIMESTAMP, #{source})
</insert>
<insert id="batchInsert" parameterType="java.util.List">
INSERT INTO market_data (variety, trade_date, open_price, close_price,
high_price, low_price, volume, change_rate, create_time, source)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.variety}, #{item.tradeDate}, #{item.openPrice}, #{item.closePrice},
#{item.highPrice}, #{item.lowPrice}, #{item.volume}, #{item.changeRate}, CURRENT_TIMESTAMP, #{item.source})
</foreach>
</insert>
<select id="selectAll" resultType="com.example.crawler.model.MarketData">
SELECT * FROM market_data ORDER BY trade_date DESC
</select>
<select id="selectByVariety" resultType="com.example.crawler.model.MarketData">
SELECT * FROM market_data WHERE variety = #{variety} ORDER BY trade_date DESC
</select>
<select id="selectByDateRange" resultType="com.example.crawler.model.MarketData">
SELECT * FROM market_data WHERE trade_date BETWEEN #{startDate} AND #{endDate} ORDER BY trade_date DESC
</select>
<select id="selectByDateAndVariety" resultType="com.example.crawler.model.MarketData">
SELECT * FROM market_data WHERE trade_date = #{tradeDate} AND variety = #{variety}
</select>
<select id="countByVariety" resultType="int">
SELECT COUNT(*) FROM market_data WHERE variety = #{variety}
</select>
<delete id="deleteAll">
DELETE FROM market_data
</delete>
</mapper>