2016-12-01 8 views
2

ここで私はENDDATETIMEの列がnullになっているかどうかを知りたいと思っていますが、そのレコードを探したい場合、そのようなレコードがあればfalseを返すか、またはレコードがない場合は私は真実に戻したいと思っています。クエリはjdbctemplateの春にブール値を返しますか?

このクエリはユーザを検証するためのものです。ユーザがalredyにログインすると、ENDDATETIMEはヌルになります。ログアウトするとENDDATETIMEカラムに日付が含まれます。したがって、ENDDATETIME列にnullが含まれている場合、私は彼にログインさせません。

そこで私は以下の質問を書いた。

@Override 
public boolean isUserAlreadyLoggedIn(int userId) { 
    String sql="select USERID from useraudit where USERID=? ENDDATETIME is null"; 
    //getJdbcTemplate().   
    return false; 
} 

私に正しい方法を教えてください。

+0

は、あなたは何を試しましたか?それはインターネット上で十分なチュートリアルです。 – AxelH

答えて

2

をあなたは、このアプローチを使用することができます。

String sql = "SELECT count(*) from useraudit where USERID=? AND ENDDATETIME is null"; 
boolean result = false; 

int count = getJdbcTemplate().queryForObject(
        sql, new Object[] { userId }, Integer.class); 

if (count > 0) { 
    result = true; 
} 

return result; 
+0

私はこれを試してみましょう – mike

+0

実際にはqueryForObjectは正しい値を返しますか? – mike

+0

また、AND @ XINGを追加すると – cralfaro

1

質問にはand句がありません。この使用:

select USERID from useraudit where USERID=? and ENDDATETIME is null