91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用SimpleFramework框架實現數據訪問

發布時間:2022-01-06 17:59:48 來源:億速云 閱讀:134 作者:iii 欄目:編程語言

本篇內容介紹了“怎么用SimpleFramework框架實現數據訪問”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Simple數據訪問層基于Spring JDBC。

Simple數據訪問層的核心概念為“實體管理器”,所有對數據的訪問都是通過不同的“實體管理器”產生的,這使得Simple對數據的訪問更加簡單、一致、也更為安全。

怎么用SimpleFramework框架實現數據訪問

Simple提供了三種“實體管理器”,分別為:

表實體管理器

具有緩存(或分布式緩存)的表實體管理器

查詢實體管理器

表實體管理器

表實體管理器提供了對單張物理表的基本操作(select,insert,update、delete),可以通過如下方式獲取表實體管理器:

ITableEntityManager tem =       DataObjectManagerFactory.getTableEntityManager(dataSource, new Table("simple_test", "id"));

下面演示一些通過ITableEntityManager操作表數據的例子:

查詢id等于1的單行記錄

Map data = tem.queryForMap(new UniqueValue(1));  或則  TestBean bean = tem.queryForObject(new UniqueValue(1), TestBean.class);

查詢id大于1的多行記錄

IQueryEntitySet<Map> qs = tem.query(new ExpressionValue("id>1"));  或則  IQueryEntitySet<TestBean> qs2 = tem.query(new ExpressionValue("id>1", TestBean.class));

 

插入id等于2的記錄

Map data2 = new HashMap();  data2.put("id", 2);  data2.put("f1", "value1");  data2.put("f2", true);  tem.insert(data2);   或則  TestBean bean2 = new TestBean();  bean2.setId(2);  bean2.setF1("value1");  bean2.setF2(true);  tem.insert(bean2);

更新id等于2的記錄

data2.put("f1", "value1_update");  tem.update(data2);  或則  bean2.setF1("value1_update");  tem.update(bean2);

刪除id等于2的記錄

tem.delete(new ExpressionValue("id=2"));

操作多個物理表

在非事務環境下,操作多張表只需定義不同的表實體管理器:

TestBean bean = new TestBean();  bean.set&hellip;  tem.insert(bean);  ITableEntityManager tem2 =      DataObjectManagerFactory.getTableEntityManager(dataSource, new Table("simple_test2", "id"));  Test2Bean bean2 = new Test2Bean();  bean2.set&hellip;  tem2.insert(bean2);  &hellip;

在事務環境下,操作多張表需要定義監聽器:

tem.insertTransaction (bean, new TableEntityAdapter() {      public void afterInsert(final ITableEntityManager manager,                   final Object object, final SQLValue sqlValue) throws EntityException {          &hellip;          tem2.insert(bean2);      }  });

具有緩存(或分布式緩存)的表實體管理器

具有緩存(或分布式緩存)的表實體管理器繼承自表實體管理器,其用法和表實體管理器一樣,區別在于查詢的結果對象,一個是從數據庫直接創建的,一個是從緩存設備中獲取的,Simple默認采用EHCahce來管理緩存。

查詢實體管理器

和表實體管理器不同,查詢實體管理器是基于SQL的,通過傳遞SQL語句來獲取結果集,并且結果集對象以Map形式存在,可以通過如下方式獲取表實體管理器:

IQueryEntityManager qem = DataObjectManagerFactory.getQueryEntityManager(dataSource);

查詢指定條件的單行或多行記錄

Map data = qem.queryForMap(      new SQLValue("select * from table1 t1, table2 t2 where t1.c1=t2.c2 and t2.c3=?",       new Object[] {1}));   IQueryEntitySet<Map> qs = qem.query(      new SQLValue("select * from table1 t1, table2 t2 where t1.c1=t2.c2"));

結果集(IQueryEntitySet)

IQueryEntitySet是一個高效、可靠的結果集,其設計準則:

有狀態信息

動態及分頁獲取

可前后滾動

可定制緩存

下面是訪問結果集的示例代碼:

TestBean bean;  while((bean = qs.next()) != null) {      System.out.println(bean.getId());  }  qs.move(2);  System.out.println(qs.next());

“怎么用SimpleFramework框架實現數據訪問”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

漾濞| 紫云| 清流县| 崇仁县| 永安市| 密云县| 盘锦市| 荃湾区| 偃师市| 西华县| 松原市| 疏附县| 子长县| 灵川县| 古田县| 牟定县| 宝清县| 东阿县| 漾濞| 济宁市| 桂阳县| 福清市| 台北县| 遵义市| 修文县| 博白县| 凤台县| 舒城县| 繁昌县| 开封县| 荥阳市| 灵石县| 晋中市| 左贡县| 韶关市| 德州市| 淮安市| 乌拉特前旗| 绥德县| 通州市| 柯坪县|