Mongodb簡單例子
1、實體類
@Document(collection = "t_user")
public class MongoUser implements Serializable{
private static final long serialVersionUID = -1409493968092980571L;
@Id
private Integer id;
private String username;
private String passwrod;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPasswrod() {
return passwrod;
}
public void setPasswrod(String passwrod) {
this.passwrod = passwrod;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
}
}
2、Mongodb相應操作方法例子
public String mongoUser(HttpServletRequest request, HttpServletResponse response) {
// 新增使用者
// for(int i = 2; i < 10; i ++){
// MongoUser mongoUser = new MongoUser();
// mongoUser.setId(i);
// mongoUser.setUsername("admin" + i);
// mongoUser.setPasswrod("123456");
// mongoUser.setAge(20 + i);
// mongoTemplate.insert(mongoUser);
// }
// 查詢所有使用者
// List<MongoUser> users = mongoTemplate.findAll(MongoUser.class);
// for (MongoUser user : users) {
// System.out.println(user.getId());
// }
// // 根據id查詢使用者
// MongoUser mongoUser = mongoTemplate.findById(1, MongoUser.class);
// System.out.println("根據使用者id查詢的使用者:" + mongoUser);
//條件查詢
// Query query = new Query();
// Criteria criteria = new Criteria();
// criteria.and("username").is("admin");//欄位username="admin"
// query.addCriteria(criteria);
// query.limit(2);
// List<MongoUser> users = mongoTemplate.find(query, MongoUser.class);
// System.out.println(users.size()+"================");
// for(MongoUser user2 : users){
// System.out.println(user2.getId());
// }
// mongoTemplate.updateFirst操作、mongoTemplate.updateMulti操作、this.mongoTemplate.upsert操作.
// 分別表示修改第一條、修改符合條件的所有、修改時如果不存在則新增.
// 更新
// Query query = new Query();
// Criteria criteria = new Criteria();
// criteria.where("id").is(1);
// query.addCriteria(criteria);
//// mongoTemplate.updateFirst(query, Update.update("username", "admin1"), MongoUser.class);
// Update update = new Update();
// update.set("username", "admin1");
// mongoTemplate.updateFirst(query, update, MongoUser.class);
// 刪除(帶條件)
// Query query = new Query();
// Criteria criteria = new Criteria();
// criteria.where("id").is(2);
// query.addCriteria(criteria);
// mongoTemplate.remove(query, MongoUser.class);
//多條件查詢
// Query query = new Query();
// Criteria criteria = new Criteria();
//// criteria.andOperator(Criteria.where("username").is("admin1))
// criteria.and("username").is("admin1");
// criteria.and("id").lt(10);
// query.addCriteria(criteria);
// query.limit(2);
// List<MongoUser> users = mongoTemplate.find(query, MongoUser.class);
// System.out.println(users.size()+"================");
// for(MongoUser user2 : users){
// System.out.println(user2.getId());
// }
//分頁查詢
// Query query = new Query();
// query.skip(0);
// query.limit(2);
// List<MongoUser> users = mongoTemplate.find(query, MongoUser.class);
// System.out.println(users.size()+"================");
// for(MongoUser user2 : users){
// System.out.println(user2.getId());
// }
//查詢數量
// Query query = new Query();
// Criteria criteria = new Criteria();
//// criteria.and("username").is("admin1");
// criteria.and("id").lt(10);
// query.addCriteria(criteria);
// Long count = mongoTemplate.count(query, MongoUser.class);
// System.out.println(count);
//排序
// Query query = new Query();
// query.limit(5);
//// query.sort().on("_id", Order.DESCENDING);
// query.with(new Sort(Direction.DESC,"_id"));
// List<MongoUser> users = mongoTemplate.find(query, MongoUser.class);
// for(MongoUser user2 : users){
// System.out.println(user2.getId());
// }
//分組查詢
GroupBy groupBy = GroupBy.key("username").initialDocument("{count:0}").reduceFunction("function(doc, prev){prev.count+=1}");
GroupByResults<MongoUser> r = mongoTemplate.group("t_user", groupBy, MongoUser.class);
BasicDBList list = (BasicDBList)r.getRawResults().get("retval");
for (int i = 0; i < list.size(); i ++) {
BasicDBObject obj = (BasicDBObject)list.get(i);
System.out.println("=========" + obj.get("count"));
}
return "login";
}