千家信息网

怎么用SimpleFramework框架实现数据访问

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇内容介绍了"怎么用SimpleFramework框架实现数据访问"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,
千家信息网最后更新 2025年01月21日怎么用SimpleFramework框架实现数据访问

本篇内容介绍了"怎么用SimpleFramework框架实现数据访问"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Simple数据访问层基于Spring JDBC。

Simple数据访问层的核心概念为"实体管理器",所有对数据的访问都是通过不同的"实体管理器"产生的,这使得Simple对数据的访问更加简单、一致、也更为安全。

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 qs = tem.query(new ExpressionValue("id>1"));  或则  IQueryEntitySet 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…  tem.insert(bean);  ITableEntityManager tem2 =      DataObjectManagerFactory.getTableEntityManager(dataSource, new Table("simple_test2", "id"));  Test2Bean bean2 = new Test2Bean();  bean2.set…  tem2.insert(bean2);  …

在事务环境下,操作多张表需要定义监听器:

tem.insertTransaction (bean, new TableEntityAdapter() {      public void afterInsert(final ITableEntityManager manager,                   final Object object, final SQLValue sqlValue) throws EntityException {          …          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 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框架实现数据访问"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

管理 实体 缓存 数据 查询 结果 不同 分布式 框架 事务 内容 可以通过 器具 多张 对象 方式 更多 物理 环境 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 我心中的网络安全观大讨论 四川数据库日志审计方案 r610服务器图 研华1528串口服务器配置 魔兽世界 服务器开服时间 政府内部系统采用什么软件开发 性价比较高的服务器 湖南pdu服务器厂家排名 投影仪软件开发代码 数据库备份的方式 如何设置传奇服务器 百度收录显示服务器设置不对 苹果提示云彩服务器已崩溃 软件开发面试薪资怎么谈 虹口区信息软件开发常见问题 融入让她软件开发软 河南pdu服务器专用电源批发 sql数据库连接文件在哪 我的世界服务器怎么管理后台 海陵区多功能网络技术解决方案 实验五数据库设计实验报告 中国电科网络安全评论 电脑软件开发有哪些专业 独立游戏的服务器怎么做的 网络技术工程师书籍 天津亚凯网络技术有限公司 数据库安全性的特征 英国历时最久的软件开发项目 vb简单数据库 怎么查看云服务器是不是腾讯
0