1、前言
之前写了个《PostgreSQL:常用基础SQL语句》里面是PostgreSQL的基础操作,在业务操作层面并无涉及。因此,这篇博客主要用于记录各种业务所对应的SQL语句。
注意:对于SQL语句均结合Mybatis进行书写
2、SELECT类型
- 顺序每次返回N条记录(场景:每次点击“加载更多”显示一定数量的记录)
<select id="方法名" resultMap="BaseResultMap" parameterType="INTEGER">
SELECT * FROM 表名 LIMIT N OFFSET #{偏移数(一般为已经在前端显示的记录总数)}
</select>
- 倒序每次返回N条记录(场景:每次点击“加载更多”显示一定数量的记录)
# 先根据指定id排序,这个排序可以是主键,也可以是时间
<select id="方法名" resultMap="BaseResultMap" parameterType="INTEGER">
SELECT * FROM 表名 ORDER BY id DESC LIMIT N OFFSET #{偏移数(一般为已经在前端显示的记录总数)}
</select>
- 返回指定时间段的记录(场景:查询某年的记录、查询某年某月的记录、查询某年某月某日的记录、查询哪天到哪天的记录)
# 查询某年的所有记录
<select id="方法名" resultMap="BaseResultMap" parameterType="INTEGER">
SELECT * FROM 表名 WHERE EXTRACT (YEAR FROM 时间字段) = #{某年}
</select>
# 查询某年某月的记录
<select id="方法名" resultMap="BaseResultMap" parameterType="INTEGER">
SELECT * FROM 表名 WHERE EXTRACT (YEAR FROM 时间字段 ) = #{year} AND EXTRACT (MONTH FROM 时间字段) = #{month}
</select>
# 查询某年某月某日的记录
<select id="方法名" resultMap="BaseResultMap" parameterType="INTEGER">
SELECT * FROM 表名 WHERE EXTRACT (YEAR FROM 时间字段 ) = #{year} AND EXTRACT (MONTH FROM 时间字段) = #{month} AND EXTRACT (DAY FROM 时间字段) = #{day}
</select>
# 查询哪天到哪天的记录
</select>
3、INSERT类型
- 插入新数据记录后返回插入位置的id号(场景:插入数据后需要利用到新插入数据的ID号)
<insert id="方法名" parameterType="插入数据的Bean" useGeneratedKeys="true" keyProperty="id">
INSERT INTO 表明(字段1, 字段2)
VALUES (#{Bean对应的字段1,jdbcType=字段类型},#{Bean对应的字段2,jdbcType=字段类型}})
</insert>
4、UPDATE类型
5、DELETE类型
- 删除数据记录后返回删除记录的id号(场景:删除记录后反馈指定的字段,提示某记录被删除了)
<select id="方法名" parameterType="参数类型" resultType="返回结果类型">
DELETE FROM 表名WHERE id=#{id} RETURNING 指定返回字段
</select>