8

【笔记】SpringBoot 项目整合 MongoDB

 1 year ago
source link: https://loli.fj.cn/2023/06/29/SpringBoot%E9%A1%B9%E7%9B%AE%E6%95%B4%E5%90%88MongoDB/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

【笔记】SpringBoot 项目整合 MongoDB

2023-06-29 2023-06-30

SpringBoot 项目整合 MongoDB

pom.xml

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
</dependencies>

<database_name>:指定数据库名称
<username>:用户名,如果启动 MongoDB 服务时没有开启认证可以省略
<password>:密码,如果启动 MongoDB 服务时没有开启认证可以省略

src/main/resources/application.yml

spring:
data:
mongodb:
host: 127.0.0.1
database: <database_name>
port: 27017
username: <username>
password: <password>
spring:
data:
mongodb:
uri: mongodb://<username>:<password>@127.0.0.1:27017/<database_name>

创建实体类

@Document(collection=""):定义集合名,如果实体类名全小写后与集合名相同,可以省略注解
@Id:定义主键
@Field(""):定义字段名,如果属性名与字段名相同,可以省略注解
@Indexed:定义单字段索引
@CompoundIndex():定义复合索引

src/main/java/com/pojo/User.java

@Document(collection="user")
@CompoundIndex(def="{'mathScore': 1, 'englishScore': -1}")
public class User implements Serializable {
@Id
private String id;
@Field("name")
private String name;
@Indexed
private Integer chineseScore;
private Integer mathScore;
private Integer englishScore;
}

创建 Dao

User:泛型的第一个参数是实体类
String:泛型的第二个参数是主键的数据类型

src/main/java/com/dao/UserDao.Java

public interface UserDao extends MongoRespository<User, String> {
}

创建 Service

src/main/java/com/service/UserService.java

public class UserService {

@Autowried
private UserDao userDao;

/**
* 新增
*/
public void saveUser(User user) {
userDao.save(user);
}

/**
* 通过Id删除
*/
public void deleteUser(String id) {
userDao.deleteById(id);
}

/**
* 修改
*/
public void updateUser(User user) {
userDao.save(user);
}

/**
* 查询所有
*/
public void saveUser() {
userDao.findAll();
}

/**
* 通过Id查询
*/
public void saveUser(String id) {
userDao.findById(id).get();
}

}

哔哩哔哩 —— 黑马程序员


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK