https://www.boostcourse.org/web326/lecture/258490
웹 백엔드
부스트코스 무료 강의
www.boostcourse.org
https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#mongodb-getting-started
Spring Data MongoDB - Reference Documentation
abs, acos, acosh, add (* via plus), asin, asin, atan, atan2, atanh, ceil, cos, cosh, derivative, divide, exp, floor, integral, ln, log, log10, mod, multiply, pow, round, sqrt, subtract (* via minus), sin, sinh, tan, tanh, trunc
docs.spring.io
MongoTemplate을 사용하기 위해 pom.xml에
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>3.4.3</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.7.1</version>
</dependency>
을 추가해 줍니다.
Collection과 Role.java에서의 roleid가 변수명이 다름으로 통일시켜주기 위해 Role.java를 수정해줍니다.
Role.java
더보기
package kr.or.connect.jdbcexam.dto;
public class Role {
private Integer role_id;
private String description;
public Role() {
}
public Role(Integer role_id, String description) {
super();
this.role_id = role_id;
this.description = description;
}
public Integer getRoleId() {
return role_id;
}
public void setRoleId(Integer role_id) {
this.role_id = role_id;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Override
public String toString() {
return "Role [role_id=" + role_id + ", description=" + description + "]";
}
}
getRoles함수
더보기
public List<Role> getRoles(){
List<Role> list = new ArrayList<>();
try{
SimpleMongoClientDatabaseFactory simpleMongoDbFactory = new SimpleMongoClientDatabaseFactory(uri+"/정하신 db명");//uri경로 뒤에 접속할 데이터 베이스명을 적어줘야합니다.
MongoTemplate mongoTemplate = new MongoTemplate(simpleMongoDbFactory);
Query query = new Query();
query.with(Sort.by("role_id").descending());//role_id를 기준으로 desc정렬
list = mongoTemplate.find(query,Role.class,"정하신 Collection명");
}catch (Exception e) {
e.printStackTrace();
}
System.out.println(list);
return list;
}
SELECT
더보기
package kr.or.connect.jdbcexam;
import java.util.List;
import org.bson.BsonValue;
import kr.or.connect.jdbcexam.dao.RoleDao;
import kr.or.connect.jdbcexam.dto.Role;
public class JDBCExam3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
RoleDao dao = new RoleDao();
List<Role> list = dao.getRoles();
for(Role role : list) {
System.out.println(role);
}
}
}
JDBCExam2에서 ID를 수정하여 500번을 추가해줍니다.
더보기
package kr.or.connect.jdbcexam;
import org.bson.BsonValue;
import kr.or.connect.jdbcexam.dao.RoleDao;
import kr.or.connect.jdbcexam.dto.Role;
public class JDBCExam2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int roleId = 500;
String description = "TEST";
Role role = new Role(roleId, description);
RoleDao dao = new RoleDao();
BsonValue insertId = dao.addRole(role);
System.out.println(insertId);
}
}
DELETE
더보기
public int deleteRole(Integer role_id) {
try{
SimpleMongoClientDatabaseFactory simpleMongoDbFactory = new SimpleMongoClientDatabaseFactory(uri+"/JDBC_EXAM");
MongoTemplate mongoTemplate = new MongoTemplate(simpleMongoDbFactory);
Criteria criteria = new Criteria("role_id");
criteria.is(role_id);
Query query = new Query(criteria);
mongoTemplate.remove(query,"role");
}catch (Exception e) {
e.printStackTrace();
}
return role_id;
}
Delete 예제
더보기
package kr.or.connect.jdbcexam;
import kr.or.connect.jdbcexam.dao.RoleDao;
public class JDBCExam4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int roleId = 500;
RoleDao dao = new RoleDao();
int deleteId = dao.deleteRole(roleId);
System.out.println(deleteId);
}
}
DELETE 실행 전

DELETE 실행 후

UPDATE
더보기
public int updateRole(Role role) {
try{
SimpleMongoClientDatabaseFactory simpleMongoDbFactory = new SimpleMongoClientDatabaseFactory(uri+"/JDBC_EXAM");
MongoTemplate mongoTemplate = new MongoTemplate(simpleMongoDbFactory);
Criteria criteria = new Criteria("role_id");
criteria.is(role.getRoleId());
Query query = new Query(criteria);
Update update = new Update();
update.set("description", role.getDescription());
mongoTemplate.updateFirst(query,update,"role");
//전부 바꿀때 mongoTemplate.updateMulti(query,update,"role");
}catch (Exception e) {
e.printStackTrace();
}
return role.getRoleId();
}
UPDATE 실행 예제
더보기
package kr.or.connect.jdbcexam;
import kr.or.connect.jdbcexam.dao.RoleDao;
import kr.or.connect.jdbcexam.dto.Role;
public class JDBCExam5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int roleId = 500;
String description = "CEO";
Role role = new Role(roleId,description);
RoleDao dao = new RoleDao();
int updateId = dao.updateRole(role);
System.out.println(updateId);
}
}
UPDATE 실행 전

UPDATE 실행 후

728x90
'서버 > SPRING' 카테고리의 다른 글
| http 네트워크 정리 (0) | 2023.07.18 |
|---|---|
| 싱글톤 (0) | 2023.07.13 |
| [Boostcourse] 이클립스와 MongoDB Backend - Project1 명함만들기 (0) | 2022.10.02 |
| [Boostcourse] 이클립스와 MongoDB Insert 및 JDBC2 실습 (0) | 2022.09.30 |
| [Boostcourse] 이클립스와 MongoDB 연결 방법 및 JDBC1 실습 (0) | 2022.09.28 |
댓글