package com.gxx.sharding.base.dao; import java.util.List; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; import com.gxx.sharding.base.vo.User; @Repository public interface UserMapper { int deleteByPrimaryKey(Long userId); int insert(User user); int insertSelective(User user); User selectByPrimaryKey(Long userId); int updateByPrimaryKeySelective(User user); int updateByPrimaryKey(User user); /** * 根据id集合查询用户 * @param userIdList * @return */ List queryUsersInUserId(@Param("userIdList") List userIdList); /** * 根据id区间查询用户 * @param beginUserId * @param endUserId * @return */ @Select("SELECT * FROM user WHERE user_id BETWEEN #{beginUserId} AND #{endUserId} ORDER BY USER_ID") List queryUsersBetweenUserId(@Param("beginUserId") Long beginUserId, @Param("endUserId") Long endUserId); /** * 计数 * @return */ @Select("SELECT COUNT(user_id) FROM user") long countUser(); /** * 求和 * @return */ @Select("SELECT SUM(user_id) FROM user") long sumUser(); /** * 取小 * @return */ @Select("SELECT MIN(user_id) FROM user") long minUser(); /** * 取大 * @return */ @Select("SELECT MAX(user_id) FROM user") long maxUser(); /** * 平均 * @return */ @Select("SELECT AVG(user_id) FROM user") double avgUser(); /** * 根据limit区间查询用户 * @param beginUserId * @param num * @return */ @Select("SELECT * FROM user ORDER BY user_id LIMIT #{beginUserId}, #{num}") List queryUsersLimitUserId(@Param("beginUserId") Long beginUserId, @Param("num") Long num); }