SSM项目layui分页实例

Posted 念念不忘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSM项目layui分页实例相关的知识,希望对你有一定的参考价值。

最近学了layui,发现其中的分页挺有意思的,所以整理了一下,一遍自己随时查看。(官方文档上已经很详细了,当中有不足的地方欢迎大家指出)

关于前台的js文件,css样式,js样式,大家可以到官网下

本人使用的是oracle数据库

我先贴出前台界面

spring和spring-mvc,mybatis大家需要的jar包,有需要的可以联系我。

这里使用到了json传数据,所以需要json的jar包

最关键的代码就要来了

1、前台jsp界面

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>Insert title here</title>
 8 <link href="${pageContext.request.contextPath }/js/layui/css/layui.css"
 9     charset="utf-8" rel="stylesheet" />
10 <script src="${pageContext.request.contextPath }/js/layui/layui.js"
11     charset="utf-8"></script>
12 <script src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"
13     charset="utf-8"></script>
14 <script type="text/javascript">
15     layui.use([ \'table\' ], function() {
16         var table = layui.table;
17     });
18 </script>
19 </head>
20 <body class="layui-layout-body">
21     <table class="layui-table"
22         lay-data="{height:\'full\', url:\'findallEmp.do\',page:true,limit:5,limits:[3,5,10,15]}"
23         lay-filter="test1">
24         <thead>
25             <tr>
26                 <th lay-data="{field:\'empno\',edit:\'text\',sort:true,width:\'50px\'}">编号</th>
27                 <th lay-data="{field:\'ename\',edit:\'text\',width:\'50px\'}">雇员</th>
28                 <th lay-data="{field:\'job\',edit:\'text\',width:\'50px\'}">工作</th>
29                 <th lay-data="{field:\'hiredate\',edit:\'text\',width:\'100px\'}">入职日期</th>
30                 <th lay-data="{field:\'sal\',edit:\'text\',width:\'50px\'}">工资</th>
31             </tr>
32         </thead>
33     </table>
34 </body>
35 </html>

 

2、界面跳转到.do

 1 package com.llh.controller;
 2 
 3 import java.util.List;
 4 
 5 import javax.annotation.Resource;
 6 
 7 import org.springframework.context.annotation.Scope;
 8 import org.springframework.stereotype.Controller;
 9 import org.springframework.web.bind.annotation.RequestMapping;
10 import org.springframework.web.bind.annotation.ResponseBody;
11 
12 import com.llh.entity.EmpInfo;
13 import com.llh.service.EmpService;
14 
15 import net.sf.json.JSONArray;
16 
17 
18 @Controller
19 @Scope("prototype")
20 public class EmpController {
21 
22     @Resource
23     private EmpService empService;
24 
25     @RequestMapping(value="findallEmp",produces="text/html;charset=utf-8")
26     public @ResponseBody String findallEmp( int page, int limit){
27         int before = limit * (page - 1) + 1;
28         int after = page * limit;
29         List<EmpInfo> eilist = empService.findAllPage(before, after);
30         int count = empService.count();
31         JSONArray json = JSONArray.fromObject(eilist);
32         String js = json.toString();
33         String jso = "{\\"code\\":0,\\"msg\\":\\"\\",\\"count\\":"+count+",\\"data\\":"+js+"}";//转为layui需要的json格式
34         return jso;
35     }
36 }

3、自动装配的service类

 1 package com.llh.service;
 2 
 3 import java.util.List;
 4 
 5 import javax.annotation.Resource;
 6 
 7 import org.apache.ibatis.annotations.Param;
 8 import org.springframework.stereotype.Service;
 9 import org.springframework.transaction.annotation.Transactional;
10 
11 import com.llh.dao.EmpDao;
12 import com.llh.entity.EmpInfo;
13 @Service
14 @Transactional
15 public class EmpService implements EmpDao{
16     
17     @Resource
18     private EmpDao empDao;
19     
20     /**
21      * 查询数据
22      */
23     public List<EmpInfo> findAllPage(@Param("before") int before,@Param("after") int after){
24         return empDao.findAllPage(before, after);
25     }
26     /**
27      * 查询条数
28      */
29     public int count(){
30         return empDao.count();
31     }
32     
33 }

4、实现dao接口

 1 package com.llh.dao;
 2 
 3 import java.util.List;
 4 
 5 import org.apache.ibatis.annotations.Param;
 6 
 7 import com.llh.entity.EmpInfo;
 8 
 9 public interface EmpDao {
10 
11     public List<EmpInfo> findAllPage(@Param("before") int before,@Param("after") int after);
12     
13     public int count();
14 }

5、mapper.xml监控dao

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE mapper
 3 PUBLIC "-//mybatis.org//DTD mapper 3.0//EN"
 4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 5 <mapper namespace="com.llh.dao.EmpDao">
 6     <select id="findAllPage" resultType="EmpInfo">
 7         select * from (select row_number() over(order by empno) idx,e.* from emp e) s where idx between #{before} and #{after}
 8     </select>
 9     <select id="count" resultType="int">
10         select count(*) from emp
11     </select>
12 </mapper>

6、至于spring-mybatis.xml也贴出来一下,供有需要的人来看

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans
 3 xmlns="http://www.springframework.org/schema/beans"
 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5 xmlns:context="http://www.springframework.org/schema/context"
 6 xmlns:tx="http://www.springframework.org/schema/tx"
 7 xsi:schemaLocation="http://www.springframework.org/schema/beans
 8 http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
 9 http://www.springframework.org/schema/context
10 http://www.springframework.org/schema/context/spring-context-4.3.xsd
11 http://www.springframework.org/schema/tx
12 http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
13 "
14 >
15 <!-- 自动扫描包 -->
16 <context:component-scan base-package="com.llh"></context:component-scan>
17 
18 <!-- 数据源 -->
19 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
20     <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
21     <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
22     <property name="username" value="scott"></property>
23     <property name="password" value="tiger"></property>
24 </bean>
25 
26 <!-- mybatis配置 -->
27 <bean class="org.mybatis.spring.SqlSessionFactoryBean">
28     <property name="dataSource" ref="dataSource"></property>
29     <property name="typeAliasesPackage" value="com.llh.entity"></property>
30     <property name="mapperLocations" value="classpath:com/llh/dao/*.xml"></property>
31 </bean>
32 
33 <!-- 映射配置器 -->
34 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
35     <property name="basePackage" value="com.llh.dao"></property>
36 </bean>
37 
38 <!-- 事务管理 -->
39 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
40     <property name="dataSource" ref="dataSource"></property>
41 </bean>
42 
43 <!-- 开启事务注解 -->
44 <tx:annotation-driven/>
45 
46 
47 </beans>

7、springmvc.xml的配置

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
 4     xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
 5     xsi:schemaLocation="http://www.springframework.org/schema/beans
 6 http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
 7 http://www.springframework.org/schema/context
 8 http://www.springframework.org/schema/context/spring-context-4.3.xsd
 9 http://www.springframework.org/schema/mvc
10 http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
11 http://www.springframework.org/schema/tx
12 http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
13 ">
14     <context:component-scan base-package="com.llh"></context:component-scan>
15     <mvc:annotation-driven />
16     <mvc:default-servlet-handler />
17 
18 
19 
20     <bean id="internalResourceViewResolver"
21         class="org.springframework.web.servlet.view.InternalResourceViewResolver">
22         <property name="prefix" value="/" />
23         <property name="suffix" value=".jsp" />
24     </bean>
25 <!-- 上传下载 -->
26      <bean id="multipartResolver"
27         class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
28         <property name="defaultEncoding" value="UTF-8" />
29         <property name="maxUploadSize" value="-1" />
30     </bean> 
31     
32     
33     
34 
35 </beans>

8、web.xml实现字符编码,过滤器,spring-mybatis的监听,springmvc的监听

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
 3   <display-name>PageTestDemo</display-name>
 4   <welcome-file-list>
 5     <welcome-file>index.jsp</welcome-file>
 6   </welcome-file-list>
 7    <!-- 加载spring的配置文件 -->
 8   <context-param>
 9       <param-name>contextConfigLocation</param-name>
10       <param-value>classpath:spring-mybatis.xml</param-value>
11   </context-param>
12   
13   <!-- 配置spring的监听 -->
14   <listener>
15       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
16   </listener>
17   
18   <!-- 配置springmvc -->
19   <servlet>
20       <servlet-name>dispatcherServlet</servlet-name>
21       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
22     <init-param>
23           <param-name>contextConfigLocation</param-name>
24           <param-value>classpath:springmvc.xml</param-value>
25       </init-param>
26   </servlet>
27   <servlet-mapping>
28       <servlet-name>dispatcherServlet</servlet-name>
29       <url-pattern>*.do</url-pattern>
30   </servlet-mapping>
31   
32   <!-- 过滤器 -->
33   <filter>
34       <filter-name>characterEncoding</filter-name>
35       <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
36       <init-param>
37           <param-name>encoding</param-name>
38           <param-value>UTF-8</param-value>
39       </init-param>
40   </filter>
41   <filter-mapping>
42       <filter-name>characterEncoding</filter-name>
43       <url-pattern>/*</url-pattern>
44   </filter-mapping>
45   
46   
47 </web-app>

------------------------------至此,leyui最简单的分页查询数据就可以了。

 

过后将会更新layui的上传,动态下载。

以及bootstrap的数据表格插件

以上是关于SSM项目layui分页实例的主要内容,如果未能解决你的问题,请参考以下文章

项目中PageHelper分页插件的使用实例(SSM)

关于layui分页

SSM + Layui + Mysql8 公司测评系统

求一个JAVA SSH框架的实例

mysql——分页技术实现(基于layui框架)

09 图书管理系统(SSM+LayUi)