Java

Java 일지 #15 (20210827) 판매자 조회(object, map)

uni5948 2021. 8. 31. 17:18

15. 판매자 조회(1명, 전체)

-판매자 1명 조회(objet)

 *코드 입력(SellerDB.java)

// 판매자 1명 조회 : 리턴이 object

    public Seller selectSellerOne(Seller sellerthrows Exception {

        Bson queryBson = Filters.eq("_id"seller.getSid());

        Bson sortBson = Filters.eq("_id"1);

        MongoCursor<Documentcursor = sellerCollection.find(queryBson).sort(sortBson).iterator();

 

        if (cursor.hasNext()) {

            Document doc = cursor.next();

            // Document -> Seller 객체

            Seller retSeller = new Seller(); // 담을 변수 생성

 

            retSeller.setSid(doc.getLong("_id"));

            retSeller.setName(doc.getString("name"));

 

            List<Itemitemlist = ItemDB.getInstance().selectItemWhere(seller);

            retSeller.setList(itemlist); // List<Item> 물품목록

            return retSeller;

        }

        return null;

    }

 *출력 확인(App.java)

 **판매자 id = 1001

// 판매자 1명 조회

        Seller seller = new Seller();

        seller.setSid(1001L);

        // 판매자 1명 조회(object)

        Seller retsSeller = SellerDB.getInstance().selectSellerOne(seller);

        System.out.println(retsSeller.getSid());

        System.out.println(retsSeller.getName());

        // List<Item> => Item

        // for(Item 변수 : List<Item> ){ }

        for (Item item : retsSeller.getList()) {

            // toString()은 개발 시 확인 용도. 실제 웹에서 출력되지 않음

            System.out.println(item.toString());

        }

출력 화면

-판매자 1명 조회(map)

 *코드 입력(SellerDB.java)

// 판매자 1명 조회 : 리턴이 map

    // map == Seller 1명을 조회해서 리턴되는 값

    // List<Seller> == List<Map<String, Object>> 여러명이 리턴됨

    public Map<StringObjectselectSellerOneMap(Seller sellerthrows Exception {

        Bson queryBson = Filters.eq("_id"seller.getSid());

        MongoCursor<Documentcursor = sellerCollection.find(queryBson).iterator();

        if (cursor.hasNext()) {

            Document doc = cursor.next();

            // Document -> map 변경

 

            // Object -> 어떤 타입이든 저장 가능

            Map<StringObjectretMap = new HashMap<StringObject>();

            retMap.put("_id"doc.getLong("_id")); // long

            retMap.put("name"doc.getString("name")); // String

 

            List<Itemitemlist = ItemDB.getInstance().selectItemWhere(seller);

            retMap.put("itemList"itemlist); // List<Item>

            return retMap;

        }

        return null;

    }

 *출력 확인(App.java)

 **판매자 id = 1001

// 판매자 1명 조회

        Seller seller = new Seller();

        seller.setSid(1001L);

// 판매자 1명 조회(map)

        Map<StringObjectmap = SellerDB.getInstance().selectSellerOneMap(seller);

        System.out.println((longmap.get("_id"));

        System.out.println((Stringmap.get("name"));

 

        @SuppressWarnings("unchecked"// 체크 해제

        List<ItemitemList = (List<Item>) map.get("itemList");

        for (Item item : itemList) {

            System.out.println(item.toString());

        }

출력 화면

-판매자 전체 조회(object)

 *코드 입력(SellerDB.java)

public List<SellerselectSeller() throws Exception

        MongoCursor<Documentcursor = sellerCollection.find().sort(Filters.eq("_id", -1)).iterator();

 

        // Seller[] list1 = new Seller[ ];

        List<Sellerlist = new ArrayList<Seller>();

        while (cursor.hasNext()) {

            Document doc = cursor.next(); // 판매자 id, 판매자 이름

            Seller seller = new Seller();

            seller.setSid(Long.parseLong(doc.get("_id").toString()));

            seller.setName(doc.get("name").toString());

 

            List<ItemItemList = ItemDB.getInstance().selectItemWhere(seller);

            seller.setList(ItemList);

            // 판매자가 등록했던 물품의 정보를 보관

 

            list.add(seller);

        }

        return list;

    }

 *출력 확인(App.java)

  // 판매자 전체 조회(object)

        List<Sellerlist2 = SellerDB.getInstance().selectSeller();

        for (Seller seller2 : list2) {

            System.out.println(seller2.toString());

        }

출력 확인

 

-판매자 전체 조회(map)

 *코드 입력(SellerDB.java)

public List<Map<StringObject>> selectSellerMap() throws Exception { 

        Bson sortBson = Filters.eq("_id", -1); // _id 기준 내림 차순

        MongoCursor<Documentcursor = sellerCollection.find().sort(sortBson).iterator();

        List<Map<StringObject>> list = new ArrayList<Map<StringObject>>();

        while (cursor.hasNext()) {

            Document doc = cursor.next();

            // Document -> Map<String, Object>

            Map<StringObjectmap = new HashMap<StringObject>();

            map.put("_id"doc.getLong("_id")); // long

            map.put("name"doc.getString("name")); // String

            Seller seller2 = new Seller();

            seller2.setSid(doc.getLong("_id"));

            List<Itemitemlist = ItemDB.getInstance().selectItemWhere(seller2);

            map.put("itemList"itemlist); // List<Item>

 

            list.add(map);

 

        }

        return list;

    }

 *출력 확인(App.java)

// 판매자 전체 조회(map)

        List<Map<StringObject>> list = SellerDB.getInstance().selectSellerMap();

        for (Map<StringObjecttMap : list) {

            System.out.println(tMap.get("_id"));

            System.out.println(tMap.get("name"));

            System.out.println(tMap.get("itemList").toString());

        }

출력 확인