亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

怎么用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

五指山市| 滕州市| 郧西县| 泉州市| 临沭县| 沅江市| 仁布县| 祁东县| 报价| 中山市| 泰兴市| 普兰县| 宁南县| 宜宾县| 武强县| 敦煌市| 休宁县| 龙州县| 石景山区| 沂水县| 石棉县| 津南区| 衡阳县| 留坝县| 达尔| 定兴县| 山西省| 吉安市| 古丈县| 海口市| 罗田县| 长岭县| 海盐县| 铁岭市| 花莲县| 肇庆市| 盐城市| 清原| 崇州市| 三门峡市| 洪洞县|