miniui简单单表分页查询

登录完了之后,我们应该进入主页,今天就尝试将数据库中的数据查询后显示在页面上,并做一个分页。还是利用miniui前台控件。
先建立数据库
在这里插入图片描述
然后新建实体类

package cn.com.dao;

public class Emp {
	public String loginname;
	public String name;
	public String gender;
	public String salary;
	public String age;
	public String date;
	
	public Emp() {
		super();
	}

	public Emp(String loginname, String name, String gender, String salary, String age, String date) {
		super();
		this.loginname = loginname;
		this.name = name;
		this.gender = gender;
		this.salary = salary;
		this.age = age;
		this.date = date;
	}

	public String getLoginname() {
		return loginname;
	}

	public void setLoginname(String loginname) {
		this.loginname = loginname;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getGender() {
		return gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	public String getSalary() {
		return salary;
	}

	public void setSalary(String salary) {
		this.salary = salary;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}

	public String getDate() {
		return date;
	}

	public void setDate(String date) {
		this.date = date;
	}
	
	
}

新建一个index.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.*"
    pageEncoding="utf-8"%>
<%@ page import="cn.com.dao.Emp"%>
<%@ page import="java.sql.Connection" %>
<%@ page import="cn.com.db.DBUtil" %>
<%@ page import="java.sql.Statement"%>
<%@ page import="java.sql.ResultSet" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>员工列表</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <link href="demo.css" rel="stylesheet" type="text/css" />

    <script src="scripts/boot.js" type="text/javascript"></script>
    <script src="ColumnsMenu.js" type="text/javascript"></script>
    
</head>
<body >      

    <div style="padding-bottom:5px;">
        
        <span>员工姓名:</span><input type="text" id="key"  />
        <input type="button" value="查找" onclick="search()"/>
        
    </div>

<div id="datagrid1" class="mini-datagrid" style="width:100%;height:250px;" 
    url="select"
    idField="id" allowResize="true"
    sizeList="[20,30,50,100]" pageSize="10" 
    showHeader="true" title="表格面板"
 onmouseup="return datagrid1_onmouseup()">
    <div property="columns">
        <div type="indexcolumn" ></div>
        <div field="loginname" width="120" headerAlign="center" allowSort="true">员工帐号</div>    
        <div field="name" width="120" headerAlign="center" allowSort="true">姓名</div>                            
        <div field="gender" width="100" renderer="onGenderRenderer" align="center" headerAlign="center">性别</div>
        <div field="salary" numberFormat="¥#,0.00" align="right" width="100" allowSort="true">薪资</div>                                
        <div field="age" width="100" allowSort="true" decimalPlaces="2" dataType="float">年龄</div>
        <div field="createtime" width="100" headerAlign="center" dateFormat="yyyy-MM-dd" allowSort="true">创建日期</div>                
    </div>
</div>
<%
List<Emp> list=(List<Emp>)request.getAttribute("list");
if(list==null||list.size()<1){
	//out.print("没有数据");
}else{
	for(Emp emp:list){
%>
	<td><%=emp.getLoginname() %></td>
	<td><%=emp.getName() %></td>
	<td><%=emp.getGender() %></td>
	<td><%=emp.getSalary() %></td>
	<td><%=emp.getAge() %></td>
	<td><%=emp.getDate() %></td>
	
<%
	}
}
%>


    <script type="text/javascript">
        
        mini.parse();
        
        var grid = mini.get("datagrid1");

        grid.load();

        var menu = new ColumnsMenu(grid);

        function search() {
            var key = document.getElementById("key").value;
            grid.load({ key: key});
        }
        $("#key").bind("keydown", function (e) {
            if (e.keyCode == 13) {
                search();
            }
        });
        ///
        var Genders = [{ id: 1, text: '男' }, { id: 2, text: '女'}];
        function onGenderRenderer(e) {
            for (var i = 0, l = Genders.length; i < l; i++) {
                var g = Genders[i];
                if (g.id == e.value) return g.text;
            }
            return "";
        }
        function datagrid1_onmouseup() {

        }

    </script>

  

</body>
</html>

后台代码如下

package cn.com.selevt;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSONObject;

import cn.com.dao.Emp;
import cn.com.db.DBUtil;

/**
 * Servlet implementation class EmpServlet
 */
@WebServlet("/EmpServlet")
public class EmpServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    
    public EmpServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	 
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		 doPost(request,response);
	}

 
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		 String key1=request.getParameter("key");	//接收前台传递来的查询值
		 String pageIndex=request.getParameter("pageIndex");	
		 String pageSize=request.getParameter("pageSize");	//一页的数据数
		 Connection conn=DBUtil.getMySqlConn();
		 int page=0;
		 String count="select count(*) count from emp";	//查询数据库中有几条记录
		 try {
			 PreparedStatement ps1=conn.prepareStatement(count);
			 ResultSet rs1=ps1.executeQuery(count);
				while(rs1.next()) {
					page=rs1.getInt("count");
				} 
		 }catch (Exception e) {
			// TODO: handle exception
		}
		 
		 String sql="";
		 int zs=page;
		 int kss=Integer.parseInt(pageIndex)*Integer.parseInt(pageSize);
		 int jss=Integer.parseInt(pageIndex)*Integer.parseInt(pageSize)+Integer.parseInt(pageSize);
		 if(key1==null) {
			 sql="select * from emp  limit "+kss+","+jss+"";
		 }else {
			 sql="select * from emp where name like'%"+key1+"%' limit "+kss+","+jss+""; //根据姓名模糊查询
		 }
		 try {
			PreparedStatement ps=conn.prepareStatement(sql);
			ResultSet rs=ps.executeQuery(sql);
			List<Emp> list=new ArrayList<Emp>();	//新建一个集合
			while(rs.next()) {
				Emp emp=new Emp();
				emp.setLoginname(rs.getString("loginname"));
				emp.setName(rs.getString("name"));
				emp.setGender(rs.getString("gender"));
				emp.setSalary(rs.getString("salary"));
				emp.setAge(rs.getString("age"));
				emp.setDate(rs.getString("date"));
				list.add(emp);	//将查询到的数据放在集合中
			}
			request.setAttribute("list", list);
			Map map=new HashMap();
			map.put("data", list);
			map.put("total", page);
			String responseJSONObject=JSONObject.toJSONString(map);	//解析map里的数据
			response.setCharacterEncoding("UTF-8");
			PrintWriter out=null;
			out=response.getWriter();
			out.print(responseJSONObject);	//  返回给前台
			out.flush();
			out.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				}
			}
		
	}
}

效果图
创建日期,date格式的数据,显示在页面上遇到点问题,后面在修改下
注意用fastjson解析需要引入jar包,另外xml配置要正确。
这样数据库查询数据在页面上显示就实现了,后续实现增删改。
小白欢迎指教

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值