package org.springframework.autobuilds.jpetstore.dao.ibatis; import java.util.List; import org.springframework.dao.DataAccessException; import org.springframework.orm.ibatis.support.SqlMapDaoSupport; import org.springframework.autobuilds.jpetstore.dao.AccountDao; import org.springframework.autobuilds.jpetstore.domain.Account; public class SqlMapAccountDao extends SqlMapDaoSupport implements AccountDao { public Account getAccount(String username) throws DataAccessException { return (Account) getSqlMapTemplate().executeQueryForObject("getAccountByUsername", username); } public Account getAccount(String username, String password) throws DataAccessException { Account account = new Account(); account.setUsername(username); account.setPassword(password); return (Account) getSqlMapTemplate().executeQueryForObject("getAccountByUsernameAndPassword", account); } public void insertAccount(Account account) throws DataAccessException { getSqlMapTemplate().executeUpdate("insertAccount", account); getSqlMapTemplate().executeUpdate("insertProfile", account); getSqlMapTemplate().executeUpdate("insertSignon", account); } public void updateAccount(Account account) throws DataAccessException { getSqlMapTemplate().executeUpdate("updateAccount", account); getSqlMapTemplate().executeUpdate("updateProfile", account); if (account.getPassword() != null && account.getPassword().length() > 0) { getSqlMapTemplate().executeUpdate("updateSignon", account); } } public List getUsernameList() throws DataAccessException { return getSqlMapTemplate().executeQueryForList("getUsernameList", null); } }