Я застрял на этом. потому что Tomcat не показывает никаких ошибок, но мои данные не извлекаются из базы данных. Я хочу выбрать из базы данных номер пользователя, которому не удалось войти в историю данных.
вот мой сервисный код
public int getUserResetFail(LoginHistoryVO id) {
ArrayList<LoginHistoryVO> list = loginHistoryDao.selectLoginHistory(id);
int failCount = 0;
for(int i=0; i<list.size(); i++) {
if(list.get(i).getState().equals(LoginHistoryVO.FAIL)) {
failCount++;
} else if(list.get(i).getState().equals(LoginHistoryVO.SUCCESS)) {
failCount = 0;
}
else {
failCount = 0;
}
}
return failCount;
}
контроллер, где я хочу проверить количество неудачных результатов
LoginHistoryVO userID = new LoginHistoryVO();
userID.getId();
int numOfFails = loginHistorySvc.getUserResetFail(userID);
и код Дао
public interface LoginHistoryDao {
public void insertLoginHistory(LoginHistoryVO vo);
ArrayList<LoginHistoryVO> selectLoginHistory(LoginHistoryVO id);
}
код Батиса, куда я хочу получить данные
<select id="selectLoginHistory" resultMap="loginHistory">
SELECT USER_ID, STATE, LOGTIME FROM
(
SELECT USER_ID = #{id}
FROM LOGIN_HISTORY
ORDER BY LOGTIME DESC
)resultSet
WHERE ROWNUM = 5;
</select>
моя база данных Oracle CREATE TABLE LOGIN_HISTORY
(
USER_ID VARCHAR2(50 BYTE) NOT NULL
, LOGTIME TIMESTAMP(6)
, STATE VARCHAR2(50 BYTE)
)
Ошибка кота
java.lang.NullPointerException: null
at tom.monitoring.restapi.AccountApiCtr.auth(AccountApiCtr.java:152)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)