#강의 에서는 mysql을 사용하지만 저는 MongoDB를 사용하여 진행합니다.
https://www.boostcourse.org/web326/joinLectures/28762
웹 백엔드
부스트코스 무료 강의
www.boostcourse.org
기본 몽고 DB 연결 자세한 정보 https://www.mongodb.com/docs/drivers/java/sync/current/quick-start/
Quick Start — Java Sync
If you encounter an error connecting to your MongoDB instance or cluster that resembles the following while running your application, you may need to update your JDK to the latest patch release: javax.net.ssl.SSLHandshakeException: extension (5) should not
www.mongodb.com
pom.xml의 Dependency로 가서 이 부분을 추가 해줍니다.
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.7.1</version>
</dependency>
</dependencies>
만약 mongodb에 role 데이터를 추가하지 않았다면 생성해줍시다
URI는 기본 설정인 localhost:27017로 실행했다고 가정하겠습니다.
데이터 추가
좌측의 Databases를 누르고 화면 상단의 Create database를 눌러줍니다

Database Name은 자유롭게 하시고 Collection Name을 role로 생성해줍니다

role을 누르시고 화면 상단의 ADD_DATA -> INSERT DOCUMENT를 클릭하여 데이터를 생성해줍니다.

화면 하단의 INSERT 클릭

후 우측의 연필 모양을 누르고 좌측의 +버튼이 활성화 되면 데이터를 추가해줍니다.
role_id : 100 Int32
description : "Developer" String
데이터 가져오기
RoleDao 에서 연결하시는 부분과 쿼리부분을 변경해 주시면 됩니다.
String uri = "mongodb://localhost:27017"; //mysql 에서의 myurl과 같은 역할입니다.
BasicDBObject query = new BasicDBObject(); // 쿼리문을 사용하기 위한 String sql과 동일한 역할입니다.
MongoDB와의 연결은
try (MongoClient mongoClient = MongoClients.create(uri)){
MongoDatabase database = mongoClient.getDatabase("만든 DB명"); //정하신 DB명
MongoCollection<Document> collection = database.getCollection("만든 collection 이름");// 정하신 collection 명
query.put("role_id", roleId); //기본적으로 put은 eq 동일한 걸 찾아줍니다.
doc = collection.find(query).first();
}catch (Exception e) {
e.printStackTrace();
}
후에 role과 연결해주면 됩니다.
role = new Role(roleId,doc.getString("description")); //Document 타입에서 특정 value값을 가져오는 방법
return role;
RoleDao 코드
package kr.or.connect.jdbcexam.dao;
import kr.or.connect.jdbcexam.dto.Role;
import org.bson.Document;
import com.mongodb.BasicDBObject;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
public class RoleDao {
String uri = "mongodb://localhost:27017"; //mysql 에서의 myurl과 같은 역할입니다.
BasicDBObject query = new BasicDBObject(); // 쿼리문을 사용하기 위한 String sql과 동일한 역할입니다.
public Role getRole(Integer roleId) {
Role role = null;
Document doc = null;
try (MongoClient mongoClient = MongoClients.create(uri)){
MongoDatabase database = mongoClient.getDatabase("JDBC_EXAM"); //정하신 DB명
MongoCollection<Document> collection = database.getCollection("role"); // 정하신 collection 명
query.put("role_id", roleId); //기본적으로 put은 eq 동일한 걸 찾아줍니다.
doc = collection.find(query).first();
}catch (Exception e) {
e.printStackTrace();
}
System.out.println(doc);
role = new Role(roleId,doc.getString("description")); //Document 타입에서 특정 value값을 가져오는 방법
return role;
}
}
'서버 > SPRING' 카테고리의 다른 글
| http 네트워크 정리 (0) | 2023.07.18 |
|---|---|
| 싱글톤 (0) | 2023.07.13 |
| [Boostcourse] 이클립스와 MongoDB Backend - Project1 명함만들기 (0) | 2022.10.02 |
| [Boostcourse] 이클립스와 MongoDB Template 사용 및 JDBC3 실습 (0) | 2022.09.30 |
| [Boostcourse] 이클립스와 MongoDB Insert 및 JDBC2 실습 (0) | 2022.09.30 |
댓글