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
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>
|
|
|