UserMapper.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package cn.iselab.mooctest.user.mapper;
  2. import cn.iselab.mooctest.user.model.User;
  3. import org.apache.ibatis.annotations.Insert;
  4. import org.apache.ibatis.annotations.Param;
  5. import org.apache.ibatis.annotations.Select;
  6. import org.apache.ibatis.annotations.Update;
  7. import java.util.List;
  8. /**
  9. * @author sean
  10. * @date 2018-03-04.
  11. */
  12. public interface UserMapper {
  13. @Select("SELECT * FROM user WHERE id = #{id}")
  14. User findById(@Param("id")Long id);
  15. @Select("SELECT * FROM user WHERE email = #{email}")
  16. User findByEmail(String email);
  17. @Select("SELECT * FROM user WHERE mobile = #{mobile}")
  18. User findByMobile(String mobile);
  19. @Insert("INSERT INTO user(name, password, email, mobile, school ) VALUES(#{name}, #{password}, #{email}, #{mobile}, #{school})")
  20. void insert(User user);
  21. @Update("UPDATE user SET name=#{name} WHERE id=#{id}")
  22. void updateName(User user);
  23. @Update("UPDATE user SET school=#{school}, province=#{province}, city=#{city} WHERE id=#{id}")
  24. void updateAddress(User user);
  25. @Update("UPDATE user SET email=#{email} WHERE id=#{id}")
  26. void updateEmail(User user);
  27. @Update("UPDATE user SET mobile=#{mobile} WHERE id=#{id}")
  28. void updateMobile(User user);
  29. @Update("UPDATE user SET photo_url=#{photoUrl} WHERE id=#{id}")
  30. void updatePhotoUrl(User user);
  31. @Update("UPDATE user SET password=#{password} WHERE id=#{id}")
  32. void updatePassword(User user);
  33. @Update("UPDATE user SET availability=#{availability} WHERE id=#{id}")
  34. void updateAvailability(User user);
  35. @Select("SELECT * FROM user WHERE name LIKE concat('%',#{username},'%') or email LIKE concat('%',#{username},'%')" +
  36. "or school LIKE concat('%',#{username},'%') or province LIKE concat('%',#{username},'%') or city LIKE concat('%',#{username},'%')" +
  37. "or mobile LIKE concat('%',#{username},'%')")
  38. List<User> findByFuzzyName(String name);
  39. @Select("SELECT * FROM user WHERE email LIKE concat('%',#{username},'%')")
  40. List<User> findByFuzzyEmail(String email);
  41. @Select("SELECT * FROM user WHERE name LIKE concat('%',#{keyword},'%') OR email LIKE CONCAT('%',#{keyword},'%')")
  42. List<User> findByFuzzyNameOrEmail(String keyword);
  43. @Select("SELECT * FROM user WHERE id in (${userIds})")
  44. List<User> findAll(@Param("userIds") String userIds);
  45. }