2016-03-14 1 views

ответ

5

Да, вы можете использовать EXISTS

@Select("SELECT EXISTS(SELECT 1 FROM my_table WHERE email=#{email})") 
boolean checkUserExists(@Param("email") String email); 

Обратите внимание на то, что «SELECT 1» существует по какой-либо причине, вам не нужно выбирать какие-либо фактические столбцы

0

здесь:

SELECT * 
    FROM information_schema.COLUMNS 
    WHERE 
     TABLE_SCHEMA = 'db_name' 
    AND TABLE_NAME = 'table_name' 
    AND COLUMN_NAME = 'column_name' 
0

Вы можете вернуть список пользователя в Mapper и проверить, если размер списка больше 0.

1

я, наконец, нашел решение:

public interface UserMapper { 
    @Select("SELECT " 
      + " CASE WHEN Count(email)>0 THEN 1 " 
      + " ELSE 0 END Result " 
      + " FROM TUser " 
      +" WHERE email=#{email}") 
    boolean checkUserExists(@Param("email") String email); 
}