MongoDB 數據庫 Java 版驅動:Morphia的使用
Morphia是一個開放源代碼的對象關系映射框架,它對MongoDB數據庫 java版驅
動進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱MongoDB數據庫,也讓Java程序員可以從復雜數據庫設計中脫離出來,從而將更多的精力投入到業務邏輯中去。Morphia是一個輕量級的類型安全的Java對象to/from MongoDB 庫,具有以下特征:
- 它易于使用,而且非常輕巧,每種類型使用一次反射。
- 數據存儲(DataStore)和 DAO<T,V> 訪問抽象,或自己實現...
- 使用運行時驗證的類型安全(Type-safe)和 Fluent 查詢(Query) 支持
- 基于注解的行為映射,無XML文件
- 擴展: Validation(jsr303) ,以及SLF4J日志
- 生命周期方法/事件(Lifecycle Method/Event)支持
- 可與Guice、Spring和其它DI框架很好整合或協作
- 很多擴展點(新的注解,轉換器,行為映射,日志等)
- 不存儲Null/Empty值(默認)
- GWT支持(實體僅為POJO) - (GWT忽略注釋)
- 允許原始類型、void toObject(DBObject) 或DBObject fromObject(Object) fromObject的高級映射器
Morphia配合mongoDB就如同Hibernate配合關系型數據庫.所以可以認為Morphia在MongoDB的基礎上面調用mongoDB的語法.
在java中直接調用Morphia的api會顯得比較簡單快捷.
1.加入mongoDB和Morphia的Jar包.
//創建連接源 Mongo mongo = null; try { mongo = new Mongo(); } catch (UnknownHostException e) { e.printStackTrace(); } Morphia morphia = new Morphia(); Datastore ds = morphia.createDatastore(mongo, "test"); //查找 for(User user:ds.find(User.class, "password", "admin")){ System.out.println(user); } System.out.println(ds.find(User.class, "password", "admin").get()); //插入 User user1 = new User("00018", "hello1", "hello1"); User user2 = new User("00019", "hello2", "hello2"); List<User> list = new ArrayList<>(); list.add(user1); list.add(user2); ds.save(list); // 修改 Query<User> query = ds.createQuery(User.class).field("uid").equal("00013"); UpdateOperations<User> uo = ds.createUpdateOperations(User.class).set("password", "IDONTKONW").set("userName", "IDONTKONW"); ds.update(query, uo); /** * 刪除 * */ // ds.delete(User.class, "00018"); Query<User> query = ds.createQuery(User.class).field("userName").contains("t"); ds.delete(query);
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!