📌 UserDao.java 내용 수정
package dao;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import dao.mapper.UserMapper;
import logic.User;
@Repository
public class UserDao {
@Autowired //sqlSessionTemplate 객체 주입
private SqlSessionTemplate template;
private Map<String, Object> param = new HashMap<>();
public void insert(User user) {
template.getMapper(UserMapper.class).insert(user);
}
public User selectOne(String userid) {
param.clear();
param.put("userid", userid);
//EmptyResultDataAccessException : 해당 레코드 없을 때 예외 발생
return template.getMapper(UserMapper.class).selectOne(param);
}
public void update(User user) {
template.getMapper(UserMapper.class).update(user);
}
public void delete(String userid) {
param.clear();
param.put("userid", userid);
template.getMapper(UserMapper.class).delete(userid);
}
public void chgpass(String userid, String pass) {
param.clear();
param.put("userid",userid);
param.put("password",pass);
template.getMapper(UserMapper.class).chgpass();
}
public String search(User user, String url) {
param.clear();
param.put("email", user.getEmail());
param.put("phoneno", user.getPhoneno());
param.put("col","userid");
if(url.equals("pw")) {
param.put("userid",user.getUserid());
param.put("col","password");
}
return template.getMapper(UserMapper.class).search(param);
}
public List<User> list() {
return template.getMapper(UserMapper.class).list();
}
}
📌 UserMapper.java 생성
package dao.mapper;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import logic.User;
public interface UserMapper {
@Insert("insert into useraccount"
+ " (userid, password, username, phoneno, postcode, address, email, birthday)"
+ " values(#{userid}, #{password}, #{username}, #{phoneno}, #{postcode}, #{address}, #{email}, #{birthday})")
void insert(User user);
@Select("select * from useraccount where userid=#{userid}")
User selectOne(Map<String, Object> param);
@Update("update useraccount set username=#{username}, birthday=#{birthday}, phoneno=#{phoneno}, postcode=#{postcode},"
+ "address=#{address}, email=#{email} where userid=#{userid}")
void update(User user);
@Delete("delete from useraccount where userid=#{userid}")
void delete(String userid);
@Update("update useraccount set password=#{password} where userid=#{userid}")
void chgpass();
@Select({"<script>",
"select ${col} from useraccount",
"<trim prefix='where' prefixOverrides='AND||OR'>"
+ "<if test='userid != null'> and userid=#{userid}</if>"
+ " and email=#{email} and phnone=#{phnone}</trim>",
"</script>" })
String search(Map<String, Object> param);
@Select("select * from useraccount ")
List<User> list();
}
'수업(국비지원) > Mybatis' 카테고리의 다른 글
| [MYBATIS] (MVC 2) 게시판 생성(list, board, BoardController, ShopService, BoardDao, BoardMapper) (0) | 2023.04.21 |
|---|---|
| [MYBATIS] (MVC 2) 예외 처리ItemException, UserController 수정 (0) | 2023.04.21 |
| [MYBATIS] (MVC 2) SaleItemDao, SaleItemMapper (0) | 2023.04.21 |
| [MYBATIS] (MVC 2) SaleDao, SaleMapper (0) | 2023.04.21 |
| [MYBATIS] (MVC 2) ItemDao, ItemMapper (0) | 2023.04.21 |