千家信息网

基于Struts2和Freemarkeri的Batis分页是怎么样的

发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,这篇文章给大家介绍基于Struts2和Freemarkeri的Batis分页是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。之前介绍过基于Hibernate分页的原理和设
千家信息网最后更新 2025年02月09日基于Struts2和Freemarkeri的Batis分页是怎么样的

这篇文章给大家介绍基于Struts2和Freemarkeri的Batis分页是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

之前介绍过基于Hibernate分页的原理和设计,这里我们所用的分页都是物理分页技术,不是JS实现的页面分页技术,是在SQL语句上执行的分页,可以获取结果集数量固定的列表,执行效率很高。下面来看看iBatis中如何设计分页,本文基于Struts2,Spring3来整合,因为暂时Spring不支持MyBatis3(可以选用MyBatis官方的MyBatis-Spring插件来实现,配有中文文档,很好理解),我们这里仍然以iBatis2作为载体来介绍。

首先就是搭建开发环境,这里可以说也是对Struts2,Spring3和iBatis2进行了简单的整合,大家也可以来参考。项目的结构如下,使用Maven创建的web项目:


添加必要的依赖,因为整合了Struts2和Spring,依赖就比较多了,如下:

首先来配置一下Struts2,这个就比较简单了,相信大家都不陌生。在web.xml中:

Xml代码

                struts2filter-name>        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterfilter-class>    filter>            struts2filter-name>        *.actionurl-pattern>    filter-mapping>

然后是struts.xml,配置Struts相关的内容,这里我们配置freemarker为默认的结果类型,然后配置一个测试的Action,因为和Spring进行了集成,所以Action具体的配置放到Spring中来进行,如下即可:

Xml代码

        "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"         "http://struts.apache.org/dtds/struts-2.1.7.dtd">                                                    result-types>                            user_list.ftlresult>            action>        package>    struts>

对Freemarker做一个简单的设置,卸载freeemarer.properties文件中即可,这里我们主要是引用了一个宏文件,就是分页宏的配置,如下:

Properties代码

template_update_delay=5    default_encoding=UTF-8    url_escaping_charset=UTF-8    number_format=0.#     date_format=yyyy-MM-dd     time_format=HH:mm:ss     datetime_format=yyyy-MM-dd HH:mm:ss     boolean_format=true,false     whitespace_stripping=true     tag_syntax=auto_detect     auto_import=/Freemarker/page_macro.ftl as p

Log4J的配置这里不再贴出代码,大家可以去下载源码,一看就明白了,之后我们配置Spring,在resources文件夹下创建spring子目录,里面放置Spring的配置文件,在web.xml中如下设置即可加载Spring的配置文件:

Xml代码

        contextConfigLocationparam-name>        classpath:spring/*.xmlparam-value>    context-param>                org.springframework.web.context.ContextLoaderListenerlistener-class>    listener>

Spring中主要配置数据源,iBatis的SqlMapClient和SqlMapClientTemplate,事务处理还有Action和Service的管理,其实内容大家也都很熟悉了,比较简单:

Xml代码

                                                                                                        bean>                                                bean>                                                        constructor-arg>        bean>                                    bean>                                                                                                                        tx:attributes>        tx:advice>                                        aop:config>

之后对Service和Action进行配置:

Xml代码

            bean>                bean>

下面来看一下iBatis的配置,在配置SqlMapClient的时候,加入了iBatis的配置文件,我们来看看sqlMapConfig.xml如何来设置:

Xml代码

          PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"          "http://www.ibatis.com/dtd/sql-map-config-2.dtd">                        sqlMapConfig>

其实内容也很简单,就是设置一下必要的信息,其中的含义可以参考之前写过的对iBatis的介绍的相关文章,最后不要忘了加入sqlMaps配置文件即可,这里我们就一个user.xml文件,为了测试,也就是一条查询,针对这个查询进行分页操作:

Xml代码

    >