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

2. JAVA 프로젝트 1. DB연동 본문

트레이닝

2. JAVA 프로젝트 1. DB연동

Romenest 2021. 8. 27. 13:53

public class ItemDB {

 

    private MongoDatabase db = null;

    private MongoCollection<Documentcollection = null;

                                      mongodb : //아이디 : 암호 @ 서버주소 : 포트번호 / DB명

    private final String URL = "mongodb://id318:pw318@1.234.5.158:37017/id318";

   final  = 바꿀수 없게하는 속성

해당 몽고DB는 pom.xml의 <dependencies> 에 추가한 기능이다 DB는 NoSQL MongoDB를 사용중

 

 

싱글턴 : 인스턴스를 하나만 만들어야 하는 경우 사용, 여러 객체로 만들 수 는 있지만 많이 생성하여 사용시

객체의 설정갑싱 변경될 위험이 있기 때문에 사용 / 특징으로는 private 와 static method 를 사용한다는것

    private static ItemDB itemDB = new ItemDB();

 

    private ItemDB() { // DB연동 , 컬렉션

        MongoClient client = MongoClients.create(URL);

        this.db = client.getDatabase("id318");

        this.collection = db.getCollection("java_item");

    }

 

    public static ItemDB getInstance() {

        return itemDB;

    }

 

    public int insertItem(Item item) { // 물품 등록 (하나씩 등록가능)

        try {

            Document document = new Document();

            document.append("_id"item.getCode());

            document.append("name"item.getName());

            document.append("text"item.getText());

            document.append("price"item.getPrice());

            document.append("quantity"item.getQuantity());

            InsertOneResult result = collection.insertOne(document);

            if (result.getInsertedId().asInt32().getValue() == item.getCode()) {

                return 1;

            }

            return 0;

 

        } catch (Exception e) {

            System.out.println(e.getMessage());

            return -1;

        }

    }

 

Exception : 예외처리

    public int updateItem(Item itemthrows Exception { // 물품 수정

        UpdateResult result = this.collection.updateOne(Filters.eq("_id"item.getCode()),

                Updates.combine(Updates.set("name"item.getName()), Updates.set("text"item.getText()),

                        Updates.set("price"item.getPrice()), Updates.set("quantity"item.getQuantity())));

 

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

            return 1;

        }

        return 0;

        // result.getMatchedCount() 일치하는 갯수들 같은내용으로 변경시 인식됨

        // result.getModifiedCount() 변경된 갯수들 같은내용으로 변경시 인식안됨

       해당 내용은 crtl + space를 이용하여 확인 가능하다

 

    }

 

    public int deleteItem(Item itemthrows Exception { // 물품 삭제

        DeleteResult result = this.collection.deleteOne(Filters.eq("_id"item.getCode()));

 

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

            return 1;

        }

        return 0;

    }

 

    public List<ItemselectItems() throws Exception { // 전체 물품 조회

        MongoCursor<Documentcursor = this.collection.find().sort(Filters.eq("_id"1)).cursor(); 

    // Filters 는 조건을 거는것 sort(정렬) 에 조건을 걸어 해당 조건에 맞춰 정렬한다

                                                                                                  

      List<Item> 은 클래스명 list 는 객체명 

        List<Itemlist = new ArrayList<Item>(); // 빈 리스트 생성

 while(조건)

        while (cursor.hasNext()) { // 가져올 수 있는 파일이 있는지 판단

            Document doc = cursor.next(); // 자료 가져와서 doc에 저장

            Item item = new Item();

            item.setCode((intdoc.get("_id"));

            item.setName((Stringdoc.get("name"));

            item.setText((Stringdoc.get("text"));

            item.setPrice((intdoc.get("price"));

            item.setQuantity((longdoc.get("quantity"));

 

            // (int) 형변환 형이 확정안된 상태를 변환하는것

            // integer.parseInt(문자) 이미 형이 정해진, 확정된 상황 문자를=>숫자로

            // Document = Item

 

            list.add(item);

 

 

        }

        return list;

    }

}

'트레이닝' 카테고리의 다른 글

6. ermaster 테이블 DB설계  (0) 2021.08.27
5. JAVA 프로젝트 4. 프레임 생성  (0) 2021.08.27
4. JAVA 프로젝트 3. 패널 생성  (0) 2021.08.27
3. JAVA 프로젝트 2. Table 생성  (0) 2021.08.27
1 . JAVA 프로젝트  (0) 2021.08.27