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.0 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.IndexDataMapper">
<insert id="insert" parameterType="com.example.crawler.model.IndexData">
INSERT INTO index_data (index_name, date, index_value, change_rate,
stock_name, stock_price, turnover_rate, create_time, source)
VALUES (#{indexName}, #{date}, #{indexValue}, #{changeRate},
#{stockName}, #{stockPrice}, #{turnoverRate}, CURRENT_TIMESTAMP, #{source})
</insert>
<insert id="batchInsert" parameterType="java.util.List">
INSERT INTO index_data (index_name, date, index_value, change_rate,
stock_name, stock_price, turnover_rate, create_time, source)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.indexName}, #{item.date}, #{item.indexValue}, #{item.changeRate},
#{item.stockName}, #{item.stockPrice}, #{item.turnoverRate}, CURRENT_TIMESTAMP, #{item.source})
</foreach>
</insert>
<select id="selectAll" resultType="com.example.crawler.model.IndexData">
SELECT * FROM index_data ORDER BY date DESC
</select>
<select id="selectByIndexName" resultType="com.example.crawler.model.IndexData">
SELECT * FROM index_data WHERE index_name = #{indexName} ORDER BY date DESC
</select>
<select id="selectByDateRange" resultType="com.example.crawler.model.IndexData">
SELECT * FROM index_data WHERE date BETWEEN #{startDate} AND #{endDate} ORDER BY date DESC
</select>
<select id="selectByDateAndIndex" resultType="com.example.crawler.model.IndexData">
SELECT * FROM index_data WHERE date = #{date} AND index_name = #{indexName}
</select>
<select id="count" resultType="int">
SELECT COUNT(*) FROM index_data
</select>
<delete id="deleteAll">
DELETE FROM index_data
</delete>
</mapper>