首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

基于HIBERNATE的全自动查询框架(1)

2012-11-07 
基于HIBERNATE的全自动查询框架(一)本文讨论如何实现只要几行代码或者甚至可以没有JAVA代码的查询,全自动

基于HIBERNATE的全自动查询框架(一)
    本文讨论如何实现只要几行代码或者甚至可以没有JAVA代码的查询,全自动的意思是查询条件的封装不需要你写一行代码
   
    ----后记,这四篇文章是讲如何实现的过程,如果读者只想知道如何使用,请到我的另一篇博客(含最新版本JAR包及源代码下载)http://lgdlgd.iteye.com/admin/blogs/619370


    此框架一共分了四篇文章。

    先来看看效果吧,下面是JSP的页面条件,实际JSP的代码也是几个普通的INPUT



    下面是ACTION的代码(我用的STRUTS2)

public String findTasks() {taskService.findTasks(getTaskBean());return SUCCESS;}


再下来就是SERVICE的业务代码

public void findTasks(TaskBean taskBean) {//仅此一行taskDAO.findByAutoCondition(taskBean.getPagin(), Task.class, "taskBean.task", COLUMN_NAMES,null,null,"_task");}/*taskBean.getPagin()得到的就是分页对象,是Struts通过浏览器传回参数自动创建的,Task.class是我的POJO类,"taskBean.task"是我的FormBean和pojo在Action中的名字,pojo定义在FormBean里面,COLUMN_NAMES是我在Service中定义的一个字符串数组常量,是POJO的部份属性名,结果集列表只展示这些属性,所以查询也只查这些属性,接下来两个参数可空,是预留给用户的额外查询条件(JSP中没有的(外加),或JSP中有,但查询时不想的(排除)),最后那个参数是别名,可随意起*/


结果集列表,注意这里的两个时间是个范围值,对应到列表的“计划开始时间”列,而并非每个时间对应一列




    通过这几行代码,一个查询列表(含分页)就出来了,对于查询条件的封装是全自动的,不需要你费一点力气。
其实还可以把框架写成JSP标签,只把上面这一行代码的参数作为标签的属性,那么完全可以不要ACTION和SERVICE里面的代码了,但这和我权限系统有些冲突,就不这样做了。


1 楼 woainan6042 2009-12-14   时间的那还不如加上个控件得了 2 楼 recoco 2010-01-11   好东西,实现很强大。非常感谢楼主。以前我只是简单用for loop 来做这些事情。学习。 3 楼 woailyqgi 2012-07-17   给我一份代码啊,谢谢!
下载的时候没权限啊!
我的邮箱地址woailyqgi@163.com
谢谢

热点排行