728x90
반응형
ItemDao.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.ItemMapper;
import logic.Item;
@Repository //@Component + db 관련 객체
public class ItemDao {
@Autowired //객체 주입. DI
private SqlSessionTemplate template;
private Map<String,Object> param = new HashMap<String,Object>();
public List<Item> list() {
return template.getMapper(ItemMapper.class).select();
}
public Item selectOne(Integer id) {
param.clear();
param.put("id", id);
return template.getMapper(ItemMapper.class).selectOne(param);
}
public int maxId() {
return template.getMapper(ItemMapper.class).maxId();
}
public void insert(Item item) {
template.getMapper(ItemMapper.class).insert(item);
}
public void update(Item item) {
template.getMapper(ItemMapper.class).update(item);
}
public void delete(Integer id) {
template.getMapper(ItemMapper.class).delete(id);
}
}
ItemMapper.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.Item;
public interface ItemMapper {
@Select("select * from item")
List<Item> select();
@Select("select * from item where id=#{id}")
Item selectOne(Map<String, Object> param); //select 결과 레코드가 한개만 가능
@Select("select nvl(max(id),0) from item")
int maxId();
@Insert("insert into item (id, name, price, description, pictureUrl)"
+ " values (#{id}, #{name}, #{price}, #{description}, #{pictureUrl})")
void insert(Item item);
@Update("update item set name=#{name}, price=#{price}, description=#{description},"
+ "pictureUrl=#{pictureUrl} where id=#{id}")
void update(Item item);
@Delete("delete from item where id=#{id}")
void delete(Integer id);
}
728x90
반응형