成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SimpleFramework框架高級特性之數據訪問

開發 后端
本篇文章主要介紹SimpleFramework框架高級特性之數據訪問,請大家參考。

Simple數據訪問層基于Spring JDBC。

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

 

 

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

表實體管理器

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

查詢實體管理器

表實體管理器

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

 

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

 

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

查詢id等于1的單行記錄

 

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

 

查詢id大于1的多行記錄

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

 

 

 

插入id等于2的記錄

  1. Map data2 = new HashMap();  
  2. data2.put("id", 2);  
  3. data2.put("f1", "value1");  
  4. data2.put("f2", true);  
  5. tem.insert(data2);   
  6. 或則  
  7. TestBean bean2 = new TestBean();  
  8. bean2.setId(2);  
  9. bean2.setF1("value1");  
  10. bean2.setF2(true);  
  11. tem.insert(bean2);  

 更新id等于2的記錄

  1. data2.put("f1", "value1_update");  
  2. tem.update(data2);  
  3. 或則  
  4. bean2.setF1("value1_update");  
  5. tem.update(bean2);  

刪除id等于2的記錄

 

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

操作多個物理表

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

 

  1. TestBean bean = new TestBean();  
  2. bean.set…  
  3. tem.insert(bean);  
  4. ITableEntityManager tem2 =  
  5.     DataObjectManagerFactory.getTableEntityManager(dataSource, new Table("simple_test2", "id"));  
  6. Test2Bean bean2 = new Test2Bean();  
  7. bean2.set…  
  8. tem2.insert(bean2);  
  9. …  

 

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

 

  1. tem.insertTransaction (bean, new TableEntityAdapter() {  
  2.     public void afterInsert(final ITableEntityManager manager,   
  3.                 final Object object, final SQLValue sqlValue) throws EntityException {  
  4.         …  
  5.         tem2.insert(bean2);  
  6.     }  
  7. });  

 

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

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

查詢實體管理器

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

 

  1. IQueryEntityManager qem = DataObjectManagerFactory.getQueryEntityManager(dataSource); 

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

 

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

結果集(IQueryEntitySet)

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

有狀態信息

動態及分頁獲取

可前后滾動

可定制緩存

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

 

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

 

責任編輯:金賀 來源: SimpleFramework.net
相關推薦

2011-04-22 10:45:14

SimpleFrame

2011-04-21 10:59:44

SimpleFrameWeb

2011-04-29 10:58:11

SimpleFrame

2011-03-29 14:50:48

自然框架數據訪問

2011-04-29 09:33:22

SimpleFrame

2011-04-29 14:30:05

2011-04-28 10:45:39

SimpleFrame

2017-05-26 10:15:39

Java高級特性反射

2019-07-12 08:49:04

MySQ數據庫Redis

2010-05-19 09:09:33

2011-05-20 10:15:06

JDK7

2011-04-22 09:48:51

SimpleFrame

2011-04-22 10:01:59

SimpleFrame

2011-04-22 10:13:35

SimpleFrame

2017-03-27 15:03:44

瀏覽器谷歌G Suite

2012-08-06 16:09:40

Redis數據庫

2011-03-03 11:07:57

Spring數據庫訪問ORM

2018-07-13 09:20:30

SQLite數據庫存儲

2009-09-07 17:46:18

LINQ高級特性

2011-04-22 10:34:09

SimpleFrame
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一区av | a级大片免费观看 | 高清视频一区二区三区 | 夜夜草av| 在线播放日韩 | 欧美日韩国产精品 | 99国内精品久久久久久久 | 在线观看视频中文字幕 | 免费在线观看成人av | 91亚洲国产 | 一级毛片免费完整视频 | 免费高清av | 国产一级一片免费播放 | 天天爽夜夜爽精品视频婷婷 | 国产日韩91| 91在线精品视频 | 手机在线一区二区三区 | 日本高清视频网站 | 国产一级特黄aaa大片评分 | 亚洲视频免费在线播放 | 成人免费在线视频 | 国产精品久久久久无码av | 欧美成人手机在线 | 日韩不卡一区二区 | 国产美女黄色 | 99色在线| 亚洲精品99 | 日韩a级片 | 成人av久久| www.国产精品 | 欧美一级二级三级视频 | 国产午夜精品一区二区三区四区 | 欧美激情在线精品一区二区三区 | 国产精品视频久久久久 | 久久国产亚洲 | 国产精品久久毛片av大全日韩 | 国产精彩视频在线观看 | 久久久久久电影 | 在线观看成人小视频 | 日韩在线免费播放 | 在线播放国产一区二区三区 |