Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

JAVA Developer Training

8. SellerDB 본문

트레이닝

8. SellerDB

Romenest 2021. 8. 30. 17:20

public class SellerDB {

    private MongoDatabase db = null;

    private MongoCollection<DocumentsellerCollection = 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 sellerthrows 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<SellerselectSeller() throws Exception{

        // 100개를 가져와서 30개는 표시하지 않음. 보다 그냥 70개를 가져오는게 더 편리

        MongoCursor<Documentcursor =

        sellerCollection.find().sort(Filters.eq("_id", -1)).iterator();

 

        List<Sellerlist = 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<ItemitemList = ItemDB.getInstance().selectItemWhere(seller);

 

            seller.setList(itemList);

 

            list.add(seller);

        }

        return list;

        

    }

 

    //판매자 삭제

    public int deleteSeller(Seller sellerthrows Exception {

        //등록했던 물품 다지우고 판매자가 삭제되어야한다

        DeleteResult result =

        sellerCollection.deleteOne(Filters.eq("_id"seller.getSel_id()));

 

        if(result.getDeletedCount() == 1){

            return 1;

        }

        return 0;

    }

 

    //판매자 수정

    public int updateSeller(Seller sellerthrows 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