前言
最近开发新项目中用到MongoDB,为方便以后使用便记录下用法。
本文的数据库操作是以model对象进行展开,但是MongoDB是接受以Json,Map等为对象的操作的。
(本人的项目中是以Json为数据库实体的)。【用词可能有不妥请见谅】
一、连接数据库,插入数据
- 先创建一个普通的Spring boot项目,具体的自己去查吧。
- 配置MongoDB的连接信息:
// 配置信息如下,使用test数据库,注:本人在使用过程发现并不能用 username为admin的账号去操作数据库
spring.data.mongodb.host=45.78.X.XXX
spring.data.mongodb.port=27017
spring.data.mongodb.username=hjh
spring.data.mongodb.password=pwd
spring.data.mongodb.database=test
- 创建连接实例MongoTemplate。
本文就不创建controller层了,直接用单元测试跑,代码如下:
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootdemoApplicationTests {
@Autowired
protected MongoTemplate mongoTemplate;
@Test
public void contextLoads() {
testModel testmodel = new testModel();
testmodel.setAge(2);
testmodel.setName("hjh");
mongoTemplate.insert(testmodel, "test");
}
}
testModel 对象代码如下:
// 指定数据库中的集合,这里是test集合(集合对应关系型数据库的表)
@Document(collection = "test")
public class testModel implements Serializable {
/** serialVersionUID */
private static final long serialVersionUID = 1L;
// 这个注解表示集合中的“_id”字段
@Id
private String id;
// 这个注解可写
@Field
private String name;
@Field
private int age;
public testModel() {
}
public testModel(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public void setAge(int age) {
this.age = age;
}
}