Spring Data MongoDB提供了MongoTemplate方便咱們隊Mongodb進行CRUD操做。ide
1.簡單條件查詢測試
單個條件查詢code
接口定義:接口
/** * 根據條件查詢 * @param query * @param collectionName * @return */ T findOne(Query query,String collectionName);
Dao實現方法:get
@Resource private MongoTemplate mongoTemplate; @Override public Order findOne(Query query, String collectionName) { return mongoTemplate.findOne(query, Order.class,collectionName); }
測試查詢:使用Queryit
@Test public void findOne(){ String collectionName = "order"; //查詢條件爲:onumber = 001 Query query = new Query(Criteria.where("onumber").is("001")); Order order = orderMongoDao.findOne(query, collectionName); System.out.println(order.getCname()); }
@Test public void findOne2(){ String collectionName = "order"; //查詢條件爲:onumber = 001 and cname = kehu1 Query query = new Query(Criteria.where("onumber").is("001").and("cname").is("kehu1")); Order order = orderMongoDao.findOne(query, collectionName); System.out.println(order.getCname()); }
@Test public void findOne3() { String collectionName = "order"; // 查詢條件爲:onumber = 001 or onumber = 002 Query query = new Query( new Criteria().orOperator( Criteria.where("onumber").is("001"), Criteria.where("onumber").is("002")) ); Order order = orderMongoDao.findOne(query, collectionName); System.out.println(order.getCname()); }
測試查詢:使用BasicQueryio
@Test public void findOne4() { String collectionName = "order"; // 查詢條件爲:onumber=001 DBObject dbObject = new BasicDBObject(); dbObject.put("onumber", "001"); Query query = new BasicQuery(dbObject); Order order = orderMongoDao.findOne(query, collectionName); System.out.println(order.getCname()); }