效果图:
关键类的代码:
package:utils:
SpringUtil.java
通过jdbcTemplate连接oracle数据库
package com.utils;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @author lyx
*
* 2015-8-18下午3:53:19
*
*com.utils.SpringUtil
*TODO
*/
public class SpringUtil {
private static ApplicationContext ctx =new ClassPathXmlApplicationContext("springmvc-servlet.xml");
public static Object getBean(String beanId)
{
return ctx.getBean(beanId);
}
}
ResultUtil.java
实现页面和控制层传递数据的交互类
package com.utils;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONObject;
/**
* @author lyx
*
* 2015-8-18下午1:39:40
*
*com.yr.utils.ResultUtil
*TODO 结果工具类
*/
public class ResultUtil {
/**
* 保存json对象
*/
private Map results;
//---- key值:
private static final String MSG="msg";
private static final String SUCCESS="success";
/**
* 单独对象
*/
private static final String OBJ ="obj";
/**
* 列表对象
*/
private static final String ROWS="rows";
private static final String TOTAL ="total";
private static final String STATUS="status";
private static final String SIZE="size";
/**
*构造函数初始化
*/
public ResultUtil() {
this.results = new HashMap();
//默认值
this.results.put(SUCCESS, true);
}
public Map getResult() {
return results;
}
public void setResult(Map results) {
this.results = results;
}
public String getMsg() {
return (String) results.get(MSG);
}
public boolean getSuccess() {
return (Boolean) results.get(SUCCESS);
}
public String getObj() {
return OBJ;
}
public void setRows(Object rows) {
this.results.put(ROWS,rows);
}
public void setTotal(Integer total) {
this.results.put(TOTAL, total);
}
public void setSize(Integer szie) {
this.results.put(SIZE, szie);
}
/**
* @param key
* @param value
* 自己定义加入属性标识
*/
public void setProperty(String key,Object value)
{
try {
this.results.put(key, value);
} catch (Exception e) {
// TODO: handle exception
//logger.error("出错时:key:"+key+",value:"+value+",Json时错误是:",e);
}
}
public void setStatus(String status)
{
setProperty(STATUS, status);
}
public void setSuccess(boolean success)
{
setProperty(SUCCESS, success);
}
public void setMsg(String Msg)
{
setProperty(MSG, Msg);
}
public void setTotal(int size)
{
setProperty(TOTAL, size);
}
public void setSize(int size)
{
setProperty(SIZE, size);
}
public void setData(String data)
{
setProperty(ROWS, data);
}
public void setObj(Object obj)
{
setProperty(OBJ, obj);
}
public String toJsonString()
{
JSONObject obj =new JSONObject();
obj.put("data", this.results);
return obj.toString();
}
public static void main(String[] args)
{
ResultUtil utils =new ResultUtil();
System.out.println(utils.toJsonString());
}
}
UserDaoImpl.java
方法的实现类
package com.dao.Impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.springframework.jdbc.core.JdbcTemplate;
import com.dao.UserDao;
import com.utils.SpringUtil;
public class UserDaoImpl implements UserDao {
private JdbcTemplate jdbc =(JdbcTemplate) SpringUtil.getBean("jdbcTemplate");
public List> queryAllInfo(int currentPage,int limitPage) {
// TODO Auto-generated method stub
String sql="SELECT * FROM (SELECT A.*, ROWNUM RN FROM (select * from LYX.MEMBERUSER m order by m.memberid Asc) A WHERE ROWNUM <="+(currentPage*limitPage)+")WHERE RN >"+((currentPage-1)*limitPage)+"";
List> list = new ArrayList>();
list = jdbc.queryForList(sql);
return list;
}
public int totalCount() {
String sql="select count(*) from LYX.MEMBERUSER";
return jdbc.queryForInt(sql);
}
}
UserController.java
控制层
package com.controller;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.utils.ResultUtil;
import service.impl.UserServiceImpl;
/**
* @author lyx
*
* 2015-8-19上午8:53:52
*
*com.controller.UserController
*TODO
*/
@Controller
@RequestMapping("/user")
public class UserController {
private UserServiceImpl service;
@RequestMapping("/queryAllInfo")
@ResponseBody
public Map queryAllInfo(HttpServletRequest request,HttpServletResponse response)
{
service = new UserServiceImpl();
ResultUtil result =new ResultUtil();
//数据库总的数据总条数
int totalRecords =service.totalCount();
//当前页
int currentPage=1;
//每页多少条数据
int limitPage=5;
//获得当前页 和 每页条数
if(request.getParameter("currentPage")!=null)
currentPage=Integer.valueOf(request.getParameter("currentPage"));
if(request.getParameter("limitPage")!=null)
limitPage =Integer.valueOf(request.getParameter("limitPage"));
//总页数
int totalpage;
if(totalRecords<=limitPage)
{
totalpage=1;
}else if((totalRecords%limitPage)==0)
{
totalpage=totalRecords/limitPage;
}else
{
totalpage=(totalRecords/limitPage)+1;
}
//依据当前页和每页条数获取结果集
List> list = service.queryAllInfo(currentPage,limitPage);
if(list.size()>0)
{
//数据集
result.setRows(list);
//总页数
result.setTotal(totalpage);
//总记录数
result.setSize(totalRecords);
result.setMsg("查询成功!
");
}else
{
result.setSuccess(false);
result.setMsg("查询失败!");
}
return result.getResult();
}
}
springmvc-servlet.xml
springmvc配置文件
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
text/html;charset=UTF-8
classpath:dbconfig.properties
index.jsp页面
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
request.setAttribute("home", path);
%>
My JSP 'index.jsp' starting page.userTable{
font-size: 20px;
}
var home ="${home}";
用户列表
MEMBERNAMEACCOUNTNUMBERAGEGENDERBIRTHDAYMEMBER_LABEL
共 条记录 /当前页:
--%>
--%>
memberUser.js
//载入数据
$(document).ready(function() {
var param={};
param.currentPage=1;
param.limitPage=2;
$.post(home+"/user/queryAllInfo",null,
function(result)
{
if(result !=null && result.success)
{
var obj =result.rows;
//总的页数是否大于10 假设大于则显示10页,否则显示总的页数
var visiblePage=result.total>10?
10:result.total;
for ( var i = 0; i < obj.length; i++) {
var user =obj[i];
var tr = "
"+ user.MEMBERNAME
+ "
"+ user.ACCOUNTNUMBER
+ "
"+ user.AGE
+ "
"+ user.GENDER
+ "
"+ user.BIRTHDAY
+ "
"+ user.MEMBER_LABEL
+ "
";$(".userTable").append(tr);
//--------------分页
$('#pages').twbsPagination({
//总共多少页
totalPages: result.total,
//页面显示几页
visiblePages:visiblePage,
version: '1.1',
// href:home + "/user/queryAllInfo",
onPageClick: function (event, page) {
//调用分页函数
setPage(page);
}
});
}
}else
{
alert(result.msg);
}
},"json"
);
});
//实现分页
function setPage(currentPage)
{
var param={};
param.currentPage=currentPage;
//每页几条数据
param.limitPage=5;
$.post(home+"/user/queryAllInfo",param,
function(result)
{
if(result !=null && result.success)
{
var obj =result.rows;
$("#pageSize").val(result.size);
//清空上一次查询表中数据
$('.userTable tbody').empty();
for ( var i = 0; i < obj.length; i++) {
var user =obj[i];
var tr = "
"+ user.MEMBERNAME
+ "
"+ user.ACCOUNTNUMBER
+ "
"+ user.AGE
+ "
"+ user.GENDER
+ "
"+ user.BIRTHDAY
+ "
"+ user.MEMBER_LABEL
+ "
";$(".userTable").append(tr);
}
}else
{
alert(result.msg);
}
},"json"
);
}
项目源代码:http://download.csdn.net/detail/u013147600/9024027
四种jQuery+bootstrap分页效果插件: http://download.csdn.net/detail/u013147600/9023943