我正在使用Sprind數據MongoDb,MongoTemplate和MongoOperations將數據保存到MongoDB中。 一切工作正常,沒有錯誤或異常,但數據仍未插入到數據庫中。我正在使用MongoOperations的save方法來保存數據。MongoOperations保存功能無法正常工作
這是初步認識部分我的pom.xml
<properties>
<spring.version>4.2.8.RELEASE</spring.version>
<springsecurity.version>3.2.0.RELEASE</springsecurity.version>
<log4j.version>1.2.17</log4j.version>
<commons.fileupload.version>1.3.1</commons.fileupload.version>
<commons.io.version>2.4</commons.io.version>
<springsocial.version>1.1.0.RELEASE</springsocial.version>
</properties>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>${spring.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.9.4.RELEASE</version>
</dependency>
這裏是我的DBOPerations類
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import com.bng.monitor.config.MongoConfig;
import com.bng.monitor.model.User;
//import org.springframework.context.support.GenericXmlApplicationContext;
public class DbOperations {
public static void main(String[] args) {
// For XML
//ApplicationContext ctx = new GenericXmlApplicationContext("SpringConfig.xml");
// For Annotation
ApplicationContext ctx =
new AnnotationConfigApplicationContext(MongoConfig.class);
MongoOperations mongoOperation = (MongoOperations) ctx.getBean("mongoTemplate");
User user = new User("kv", "password123");
// save
mongoOperation.save(user);
// now user object got the created id.
System.out.println("1. user : " + user);
// query to search user
Query searchUserQuery = new Query(Criteria.where("username").is("kv"));
// find the saved user again.
User savedUser = mongoOperation.findOne(searchUserQuery, User.class);
System.out.println("2. find - savedUser : " + savedUser);
// update password
mongoOperation.updateFirst(searchUserQuery,
Update.update("password", "new password"),User.class);
// find the updated user object
User updatedUser = mongoOperation.findOne(searchUserQuery, User.class);
System.out.println("3. updatedUser : " + updatedUser);
// delete
mongoOperation.remove(searchUserQuery, User.class);
// List, it should be empty now.
List<User> listUser = mongoOperation.findAll(User.class);
System.out.println("4. Number of user = " + listUser.size());
}
}
這裏是我的模型類
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "users")
public class User {
@Id
private String id;
private String username;
private String password;
public User(String username, String password){
super();
this.username = username;
this.password = password;
}
public void setId(String id){
this.id = id;
}
public String getId(){
return this.id;
}
public void setUsername(String username){
this.username = username;
}
public String getUsername(){
return this.username;
}
public void sePassword(String password){
this.password = password;
}
public String gePassword(){
return this.password;
}
}
,這裏是我的輸出,當我運行DBOperations類
367 [main] INFO org.springframework.context.annotation.AnnotationConfigApplicationContext - 刷新org.spring[email protected]5d6f64b1:啓動日期[Thu Nov 17 16:41:10 IST 2016];上下文層次結構的根源 集合是否存在? :假 1.用戶:[email protected] 2.發現 - savedUser:空 3. updatedUser:空 4的用戶數= 0
可有人告訴我這裏有什麼不對?
你能剔除在數據庫操作中的所有其他電話也試着救?也請張貼相關的部分。對於那些想要幫助你的人來說更容易一些。 – Veeram
@Veeram。試了一樣。沒有運氣。 – KayV
請根據以前的評論更新帖子。 – Veeram