Awake框架简介
Awake 十分钟做一个查询,分页列表,增减一列只需几秒钟(修改xml)。
在软件开发中我们经常会遇到这些问题:
1. 在开发查询检索页面时,经常遇到客户要求增减查询项,这时需要修改,查询页面和源代码。
2. 在开发列表页面时,经常遇到客户要求增减列表项,这时需要修改,查询页面和源代码。
3. 每个应用都是由多个列表和查询检索页面组成的,在对上述两个问题修改时会导致修改多处页面和源码。有可能会漏改或错改,导致软件不稳定维护量增大。
4. 每开发一个“分页列表”就会写一套用于查询分页的代码,你会发现写的都是重复的代码。
5. 查询条件承接问题,一个操作下有多个子操作,子操作查询条件需要承接父操作的查询条件,并且每个子操作都有自己的查询条件。这种问题在维护sql或hql时会很麻烦。
Awake很好的解决了上述问题,使用Awake开发查询、统计、分页列表时,只需要做你必须做的事情,
哪些是必须做的事情?
第一件事:你想得到哪些数据?(在action中写hql)。
第二件事:得到数据后显示哪些数据以及显示数据所用的位置、宽度等(配置xml)
第三件事:页面css样式(好像应该是美工的事)。
完成了上面三件事,Awake就会自动生成你说需要的“查询”“统计”“列表”
Awake是在hibernate框架基础上封装的框架,Awake故名思议“苏醒”,hibernate的反义词,hibernate使数据沉睡到硬盘,Awake使数据苏醒展现到客户面前。在数据展现方面有一些通用的共性,awake是将这些通用的共性集中管理,再展现到客户面前。
例如:一个字段是否在查询页面中显示,或者说是否可查询,在列表中是否显示这个字段,显示这个字段的话这个字段占用列表的宽度,在页面中显示的名字等…,awake将集中管理这些问题。
目前awake 1.0版本主要功能,通用查询、统计、列表(包含分页),“通用”的意识是你只需要配置xml文件,就会根据xml动态的生成查询页面,列表页面,例如:通用查询页面,页面中的查询项是根据xml动态添加的。
图一:
查询列表中的列也是可以根据配置动态改变。
在图中可以看到“办理状态-主分类”中间有个“-”表示主分类字段是关联类中的字段,awake支持全部hibernate hql语法格式(包括where后面的子查询),只要hibernate能够通过的查询语句就可以用到awake框架上。
图二:
经过修改xml 配置文件,所有基于这个xml文件生成的列表的 主题词将不显示,统一管理字段是否显示,是否可查询。
图三:
此外“通用列表”已经包含了非常完善的分页功能。
Awake是一个开放的框架,所有的类都是针对接口编程,可以很方便的与其他框架结合,为一要求你用的是hibernate。
在上面图中可以看到数据展现使用的jsp+Jstl 或 struts标签两种展现方式,有的朋友说了现在谁还用 jsp啊 都用ajax了,awake没问题可以满足您的要求,在awake中有个数据解析模块可以提供不同的数据解析器,根据解析器的不同将解析出不同结构的数据,
例如:ajax一般使用xml或json结构的数据,可以调用相应的解析器得到想要的数据,Awake已经实现了xml和map两种结构的解析器,json解析器将于以后的版本推出。
可能有的朋友问了,你这个框架的性能怎么样啊!!!
我做过实际的测试,tomcat5.5 oracle10g数据库 主表100万条记录,关联表也是100万条,按时间排序 关联查询满足查询条件5000条,分页每页100条,每条记录500字节以上, 2007年4000元买的笔记本 1g内存,用时0.6秒。(只做了索引优化)
还有的朋友问了安全不啊 会不会有sql注入攻击啊,朋友们请放心所有的查询条件在组hql之前都有验证的,在给查询条件负值时都用的query.set…() 标准方法,所以不会有sql注入攻击问题。
还有就是使用awake查询数据,绝对不会有不关闭session问题,保证您的系统稳定运行。
©2008 HengY
分享到:
相关推荐
Awake框架hql解析模块,支持Hql子查询的用法: http://hi.baidu.com/jfheng/blog/item/96ad1852d338a4080cf3e318.html 用Awake开发查询、统计分页列表,简单多了 Awake 在Ajax应用上存在的小瑕疵请大虾们帮忙解决:...
Awake 十分钟做一个查询,分页列表,增减一列只需几秒钟(修改xml)。 在软件开发中我们经常会遇到这些问题: 1. 在开发查询检索页面时,经常遇到客户要求增减查询项,这时需要修改,查询页面和源代码。 2. 在开发...
Awake 十分钟做一个查询,分页列表,增减一列只需几秒钟(修改xml)。 在软件开发中我们经常会遇到这些问题: 1. 在开发查询检索页面时,经常遇到客户要求增减查询项,这时需要修改,查询页面和源代码。 2. 在开发...
Awake框架hql解析模块,支持Hql子查询的用法: http://hi.baidu.com/jfheng/blog/item/96ad1852d338a4080cf3e318.html 上面有最新功能介绍,文档说明,另外希望大家给我留言,提供一些好的建议 通用查询页面中的...
Awake 十分钟做一个查询,分页列表,增减一列只需几秒钟(修改xml)。 网址:http://hi.baidu.com/jfheng 在软件开发中我们经常会遇到这些问题: 1. 在开发查询检索页面时,经常遇到客户要求增减查询项,这时需要修改...
Awake框架hql解析模块,支持Hql子查询的用法: http://hi.baidu.com/jfheng/blog/item/96ad1852d338a4080cf3e318.html 上面有最新功能介绍,文档说明,另外希望大家给我留言,提供一些好的建议 通用查询页面中的...
特征基于Bulma css框架的简单现代设计(未使用的css通过清除)网站搜寻静态生成的用于帖子和类别的API Disqus发帖评论Mailchimp支持的新闻通讯高度可定制的开箱即用配置注重性能隔离的Netlify CMS驱动程序(计划将来...
在Unity中,这可能在游戏对象的Start()或Awake()方法中进行: ```csharp pomeloClient.Connect(); ``` 5. **监听事件**:Pomelo客户端提供了一系列事件来处理连接状态变化、接收到的消息等。例如,你可以监听`...
《C#在Unity引擎中的游戏逻辑框架构建》 Unity引擎是一款强大的跨平台游戏开发工具,以其高效的性能和易用性深受开发者喜爱。在Unity中,C#被广泛用于编写游戏逻辑,因为它提供了丰富的编程功能和良好的面向对象...
基于Bulma css框架的简单现代设计(未使用的css通过清除) 网站搜寻 静态生成的用于帖子和类别的API 由Disqus提供动力的评论 Mailchimp支持的新闻通讯 高度可定制的开箱即用配置 注重性能 隔离的Netlify CMS驱动程序...
Awake ↓ Initialize(当该View第一次为其绑定的ViewModel赋值的时候,调用该方法),同时,调用ViewModel的Initiallize方法 ↓ 进行显示(Reveal) 或 进入Start ↓ 进行显示的情况 : 此处进入 OnApear,OnReveal,...
GameFramework是一款专为游戏开发设计的框架,旨在提高游戏开发的效率和代码的可维护性。这个框架分为两个主要部分:GameFramework (GF) 和 UnityGameFramework (UGF)。GF是一个独立于Unity引擎的系统,它负责处理...
《Unity消息机制框架详解》 Unity引擎作为一款强大的游戏开发工具,其内置的消息系统是实现游戏逻辑和组件间通信的重要手段。"NTFrame.rar"这个压缩包文件内包含的"NTFrame.unitypackage",很显然,是一个专门针对...