基于HIBERNATE的全自动查询框架(一)
本文讨论如何实现只要几行代码或者甚至可以没有JAVA代码的查询,全自动的意思是查询条件的封装不需要你写一行代码
----后记,这四篇文章是讲如何实现的过程,如果读者只想知道如何使用,请到我的另一篇博客(含最新版本JAR包及源代码下载)http://lgdlgd.iteye.com/admin/blogs/619370
此框架一共分了四篇文章。
先来看看效果吧,下面是JSP的页面条件,实际JSP的代码也是几个普通的INPUT
下面是ACTION的代码(我用的STRUTS2)
public String findTasks() {taskService.findTasks(getTaskBean());return SUCCESS;}
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中有,但查询时不想的(排除)),最后那个参数是别名,可随意起*/