MongoDB SpringBoot集成
MongoDB 集成
导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
远程连接配置
#MongoDB连接配置
spring.data.mongodb.uri: mongodb://172.30.138.31:27017/chat_memory_db
使用
创建实体类
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Document("chat_messages")
public class ChatMessages {
// 映射到 mongoDB 文档的唯一标识
@Id
private ObjectId id;
// 聊天记录
private String content;
}
id 使用 ObjectId 则可以由数据库自动生成,否则需要手动传入
CRUD
@SpringBootTest
public class MongoDBTest {
@Resource
private MongoTemplate mongoTemplate;
@Test
public void testInsert() {
ChatMessages messages = new ChatMessages();
messages.setContent("Hello World");
mongoTemplate.insert(messages);
}
@Test
public void testFindById() {
ChatMessages messages = mongoTemplate.findById("68a1c3f65539b42627ed494e", ChatMessages.class);
System.out.println(messages);
}
@Test
public void testUpsert() {
Criteria criteria = Criteria.where("_id").is("68a1c3f65539b42627ed494e");
Query query = new Query(criteria);
Update update = new Update();
update.set("content", "No hello!");
mongoTemplate.upsert(query, update, ChatMessages.class);
}
@Test
public void testDelete() {
Criteria criteria = Criteria.where("_id").is("68a1c3f65539b42627ed494e");
Query query = new Query(criteria);
mongoTemplate.remove(query, ChatMessages.class);
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 木素音的小站!