JAVA Developer Training
8. SellerDB 본문
public class SellerDB {
private MongoDatabase db = null;
private MongoCollection<Document> sellerCollection = null;
// 싱글톤 패턴 , 하나의 인스턴스
private static SellerDB sellerDB = new SellerDB();
// 외부에서 객체를 생성할 수 없음
private SellerDB() {
MongoClient client = MongoClients.create(Setting.URL);
this.db = client.getDatabase(Setting.DBNAME);
this.sellerCollection = db.getCollection(Setting.SELLER_COLLECTION);
}
//static메소드를 이용하여 객체 정보를 가져감.
public static SellerDB getInstance() {
return sellerDB;
}
//판매자 추가 (Seller타입에서 -> Document요구)
public int insertSeller(Seller seller) throws Exception {
//타입 변경
Document doc = new Document();
doc.append("_id", seller.getSel_id());
doc.append("name", seller.getName());
InsertOneResult result = sellerCollection.insertOne(doc);
if(result.getInsertedId().asInt64().getValue() == seller.getSel_id()){
return 1;
}
return 0;
}
//판매자 전체 조회
public List<Seller> selectSeller() throws Exception{
// 100개를 가져와서 30개는 표시하지 않음. 보다 그냥 70개를 가져오는게 더 편리
MongoCursor<Document> cursor =
sellerCollection.find().sort(Filters.eq("_id", -1)).iterator();
List<Seller> list = new ArrayList<Seller>();
while(cursor.hasNext()){ //판매자 아이디 , 판매자 이름
Document doc = cursor.next();
Seller seller = new Seller();
seller.setSel_id(Long.parseLong(doc.get("Sel_id").toString()));
seller.setName(doc.get("name").toString());
//itemDB생성후 추가 작성
List<Item> itemList = ItemDB.getInstance().selectItemWhere(seller);
seller.setList(itemList);
list.add(seller);
}
return list;
}
//판매자 삭제
public int deleteSeller(Seller seller) throws Exception {
//등록했던 물품 다지우고 판매자가 삭제되어야한다
DeleteResult result =
sellerCollection.deleteOne(Filters.eq("_id", seller.getSel_id()));
if(result.getDeletedCount() == 1){
return 1;
}
return 0;
}
//판매자 수정
public int updateSeller(Seller seller) throws Exception {
UpdateResult result =
sellerCollection.updateOne(Filters.eq("_id",seller.getSel_id()), Updates.set("name",seller.getName()));
if(result.getMatchedCount() ==1){
return 1;
}
return 0;
}
}
'트레이닝' 카테고리의 다른 글
10. Setting (0) | 2021.08.30 |
---|---|
9. Item DB (0) | 2021.08.30 |
7. ermaster 메인 프레임 생성 (0) | 2021.08.27 |
6. ermaster 테이블 DB설계 (0) | 2021.08.27 |
5. JAVA 프로젝트 4. 프레임 생성 (0) | 2021.08.27 |