当前位置: 首页 > 工具软件 > Awake SQL > 使用案例 >

Awake框架简介

苍宜修
2023-12-01

Awake框架简介

 

Awake 十分钟做一个查询,分页列表,增减一列只需几秒钟(修改xml)。

在软件开发中我们经常会遇到这些问题:

1.       在开发查询检索页面时,经常遇到客户要求增减查询项,这时需要修改,查询页面和源代码。

2.       在开发列表页面时,经常遇到客户要求增减列表项,这时需要修改,查询页面和源代码。

3. 每个应用都是由多个列表和查询检索页面组成的,在对上述两个问题修改时会导致修改多处页面和源码。有可能会漏改或错改,导致软件不稳定维护量增大。

4.       每开发一个“分页列表”就会写一套用于查询分页的代码,你会发现写的都是重复的代码。

5.       查询条件承接问题,一个操作下有多个子操作,子操作查询条件需要承接父操作的查询条件,并且每个子操作都有自己的查询条件。这种问题在维护sqlhql时会很麻烦。

 

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一般使用xmljson结构的数据,可以调用相应的解析器得到想要的数据,Awake已经实现了xmlmap两种结构的解析器,json解析器将于以后的版本推出。

可能有的朋友问了,你这个框架的性能怎么样啊!!!

我做过实际的测试,tomcat5.5 oracle10g数据库 主表100万条记录,关联表也是100万条,按时间排序 关联查询满足查询条件5000条,分页每页100条,每条记录500字节以上, 20074000元买的笔记本 1g内存,用时0.6秒。(只做了索引优化)

还有的朋友问了安全不啊 会不会有sql注入攻击啊,朋友们请放心所有的查询条件在组hql之前都有验证的,在给查询条件负值时都用的query.set() 标准方法,所以不会有sql注入攻击问题。

还有就是使用awake查询数据,绝对不会有不关闭session问题,保证您的系统稳定运行。

 

 

 

 

©2008 HengY 

 类似资料: