前言
SpringBoot项目整合MongoDB
引入依赖
pom.xml1 2 3 4 5 6
| <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.yml1 2 3 4 5 6 7 8
| spring: data: mongodb: host: 127.0.0.1 database: <database_name> port: 27017 username: <username> password: <password>
|
1 2 3 4
| 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.java1 2 3 4 5 6 7 8 9 10 11 12
| @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.Java1 2
| public interface UserDao extends MongoRespository<User, String> { }
|
创建Service
src/main/java/com/service/UserService.java1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| public class UserService { @Autowried private UserDao userDao;
public void saveUser(User user) { userDao.save(user); }
public void deleteUser(String id) { userDao.deleteById(id); }
public void updateUser(User user) { userDao.save(user); }
public void saveUser() { userDao.findAll(); }
public void saveUser(String id) { userDao.findById(id).get(); }
}
|
完成
参考文献
哔哩哔哩——黑马程序员