あなたが言葉を学ぶ場合、ページング、特に覚えMyBatisのは、プラグインのページングを使用する必要があり、学ぶために始めたが、プロセスの使用やバグの様々な遭遇したとき最近、自分の学習過程では、MyBatisの問題に遭遇学びますそれは実際には非常にシンプルですが、初めてやピットの多くに遭遇し、解決遭遇した最初の時間のためにそれを使用するには、以下のピットと共有する方法。学習は、SSMの枠組みされているので、あなたが使用していないそうだとすれば、後で再度参照行き、またはいくつかの構成が混乱表示される場合がありますことをお勧めします。まあ、それが入力されます。
第一の構成プロファイルの:
1、ジャーパッケージを導入する、Mavenプロジェクトを使用して、直接導入そう依存
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency>
あなたはjarファイルのパッケージをインポートする場合は、それを導入することができるプロジェクトに直接ダウンロードすることができます
図2に示すように、スプリング及びMyBatisの完璧な組み合わせは、CCAの構成はSpring構成ファイルで構成することができます。
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 扫描model包
如果 typeAliasesPackage不进行配置,resultType就得写全名resultType="com.tf.entity.User",
但是如果配置了
<property name="typeAliasesPackage" value="com.tf.entity"/>,
resultType就可以不用写上包名了,而是直接书写类名即可
-->
<property name="typeAliasesPackage" value="com.tf.entity"/>
<!-- 扫描sql配置文件:mapper需要的xml文件-->
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageHelper">
<property name="properties">
<props>
<prop key="dialect">Oracle</prop>
<prop key="offsetAsPageNum">false</prop>
<prop key="rowBoundsWithCount">true</prop>
<prop key="reasonable">true</prop>
<prop key="pageSizeZero">true</prop>
<prop key="returnPageInfo">check</prop>
</props>
</property>
</bean>
</array>
</property>
</bean>
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageHelper">
<property name="properties">
<props>
<prop key="dialect">Oracle</prop>
<prop key="offsetAsPageNum">false</prop>
<prop key="rowBoundsWithCount">true</prop>
<prop key="reasonable">true</prop>
<prop key="pageSizeZero">true</prop>
<prop key="returnPageInfo">check</prop>
</props>
</property>
</bean>
</array>
</property>
これは、コード・ページのコア部分は、プロジェクトが実行データベースを構成しなければなりませんであれば、物事の前に、プラグインを導入する必要があります。そのノート実際のデータベースに従って設定されるプロパティの方言は、MySQL MySQLを修正する必要がありそうである場合、あります
そこピットもあり、バージョン5.0で導入されたjarパッケージは、将来のであれば、それは春のコンフィギュレーション・ファイル内のエラーを指示することを、あなたは5.0バージョンを使用する必要がある場合、その後、あなたは異なる設定を使用する必要があることに注意するように構成する場合:方法は、直接プラグインMyBatisのプロファイルを設定することです。
そのまま、どの書き込みにに書く方法を3、コードデータの永続化層とビジネス層
図4に示すように、制御層のコードが続きます。
@RequestMapping("findResume")
public ModelAndView findResumeList(@RequestParam(required=true,defaultValue="1") Integer pageNo,
@RequestParam(required=false,defaultValue="5") Integer pageSize){
PageHelper.startPage(pageNo, pageSize);
ModelAndView mv=new ModelAndView();
List<Resume> list = resumeService.findAllResume();
PageInfo<Resume> page=new PageInfo<Resume>(list);
//将查询到的所有记录数保存在域对象中
mv.addObject("list",list);
//将查询出来的信息带上分页信息保存在域对象中
mv.addObject("page",page);
mv.setViewName("success");
return mv;
}
5、またはJSPでHTMLページの紹介:
<c:if test="${page.isFirstPage==true}">
<button class="btn btn-default btn-info disabled">首页</button>
<button class="btn btn-default btn-info disabled">上一页</button>
</c:if>
<c:if test="${page.isFirstPage!=true}">
<a href="findResume?pageNo=${page.firstPage}" class="btn btn-default btn-info">首页</a>
<a href="findResume?pageNo=${page.prePage}" class="btn btn-default btn-info">上一页</a>
</c:if>
<c:if test="${page.isLastPage==true}">
<button class="btn btn-default btn-info disabled">下一页</button>
<button class="btn btn-default btn-info disabled">尾页</button>
</c:if>
<c:if test="${page.isLastPage!=true}">
<a href="findResume?pageNo=${page.nextPage}" class="btn btn-default btn-info">下一页</a>
<a href="findResume?pageNo=${page.lastPage}" class="btn btn-default btn-info">尾页</a>
</c:if>
使用JSTLとEL式は導入依存する必要があります:
<%@ Taglibの接頭辞= "C " URIは= "http://java.sun.com/jsp/jstl/core" %>
JSTLライブラリにJSPインポートする必要があります、または正しくレポートすることがあります。
プラグインのようなMyBatisのページ付けの使用が終わりました。プロジェクト何を、あなたは自分自身を変更する必要があるものがあり、上記のコードに注意してください。
コードを使用すると、特定のコードが必要な場合は、プラグインの使用を、インターネットは多くの類似した特徴を持っていますが、この過程で発生した問題のいくつかは、私が記録し、コードは非常にシンプルですが、それでももちろん、慎重に必要である、不完全であり、能力このページには、より良い、より効率的なページングコードを記述するために、独自のスタイルを変更することができ、独自のコードとページングのロジックを記述することができます。私は学ぶための方法にも思います。