Spring data MongoDB 系列之一連線資料庫並 插入資料
阿新 • • 發佈:2019-01-28
前言
最近開發新專案中用到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;
}
}