医院信息化与智能化系统(12)
这里只描述对应过程,和可能遇到的问题及解决办法以及对应的参考链接,并不会直接每一步详细配置
如果你想通过文字描述或代码画流程图,可以试试PlantUML
,告诉GPT你的文件结构,让他给你对应的代码
预约挂号微服务模块搭建
前端知识点补充,此章节不会详细讲具体前端的每个知识点
1、MongoDB基本概念与操作
SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
table joins | 表连接,MongoDB不支持 | |
primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
文档
MongoDB 的文档采用 BSON
(Binary JSON)格式存储,允许在同一个集合中的不同文档具有不同的结构。每个文档是一组键值对,
灵活性:
在关系型数据库中,每个表的结构是固定的,所有行必须包含相同的列。而在 MongoDB 中,集合中的文档可以有不同的字段,这为数据建模提供了极大的灵活性。
不同数据类型:
即使在同一个文档中,同一个字段也可以存储不同的数据类型,例如字符串、数字、数组或对象。
// 文档 1
{
"_id": 1,
"name": "Alice",
"age": 30,
"email": "alice@example.com",
"address": {
"city": "New York",
"zip": "10001"
}
}
// 文档 2
{
"_id": 2,
"name": "Bob",
"age": 25,
"email": "bob@example.com",
"hobbies": ["reading", "traveling"]
}
集合
在 MongoDB 中,集合
(Collection) 类似于关系型数据库中的表
,但有显著的不同。集合是 MongoDB 中数据存储的基本单位,用于存储一组文档
。
2、Spring boot集成mongodb
新建一个项目学习mongodb
正常创建maven项目,导入依赖,在application.properties
文件添加配置:
spring.data.mongodb.uri=mongodb://192.168.x.xx:27017/test
接着创建对应的实体类,在实体类上添加注解@Document("User")
,用于将 Java 类映射到 MongoDB 集合;同时,在字段id上添加@Id
注解用于标记该字段为文档的主键(唯一标识符)。
spring-data-mongodb提供了MongoTemplate
与MongoRepository
两种方式访问mongodb,MongoRepository操作简单,MongoTemplate操作灵活。
MongoTemplate操作
- 添加操作
//添加操作
@Test
public void demo1(){
User user = new User();
user.setAge(20);
user.setName("test");
user.setEmail("123@qq.com");
User user1 = mongoTemplate.insert(user);
System.out.println(user1);
}
- 查询操作
@Test
public void findALL(){
List<User> all = mongoTemplate.findAll(User.class);
System.out.println(all);
}
@Test
public void findId(){
User byId = mongoTemplate.findById("671f886ad9fb3d735196e141", User.class);
System.out.println(byId);
}
- 条件查询
@Test
public void findUserList()