首页 > 代码库 > easyui表格的增删改查

easyui表格的增删改查

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<!-- 1、JQuery的js包 -->
<script type="text/javascript" src=http://www.mamicode.com/"jquery-easyui-1.4.4/jquery.min.js"></script>
<!-- 2 css资源 -->
<link rel="stylesheet" type="text/css" href=http://www.mamicode.com/"jquery-easyui-1.4.4/themes/default/easyui.css">
<!-- 3、图标资源 -->
<link rel="stylesheet" type="text/css" href=http://www.mamicode.com/"jquery-easyui-1.4.4/themes/icon.css">
<!-- 4、easyui的js包 -->
<script type="text/javascript" src=http://www.mamicode.com/"jquery-easyui-1.4.4/jquery.easyui.min.js"></script>

<!-- 5、本地语言 -->
<script type="text/javascript" src=http://www.mamicode.com/"jquery-easyui-1.4.4/locale/easyui-lang-zh_CN.js"></script>
</head>
<body>
<script type="text/javascript">
//把long型的日期格式转成yyyy-MM-dd格式
function getDate(date)
{
    //得到日期对象
    var d=new Date(date);
    //得到年月日
    var year =d.getFullYear();
    var month=(d.getMonth()+1);
    var day= d.getDate();
    var rtn=year+"-"+(month<10?"0"+month:month)+"-"+(day<10?"0"+day:day);
    
    return rtn;
    }



var type="add";

$(function(){
    //创建data_grid
    $("#st").datagrid({
        
        url:StudentServlet, //数据来源   
        //冻结列
        //列的定义
        columns:[[ 
            {field:idd,checkbox:true},    
            {field:sno,title:学生编号,width:50},    
            {field:sname,title:学生姓名,width:50},    
            {field:ssex,title:性别,width:50,align:right},
            {field:sbirthday,title:生日,width:50,align:center,
                formatter: function (value, row, index) {
                    if(value && value!= "")
                        {
                     //var val = new Date(value);
                    
                    //return val.toLocaleDateString();
                    
                    return getDate(value)
                    
                        }
                    else
                        {
                        return "";
                        }
                }
                
            },            
            
            {field:sclass,title:班级,width:50,align:right}
        ]],
        
        fitColumns:true,//列自适应宽度,不能和冻结列同时设置为true
        striped:true,//斑马线效果
        idField:sno,//主键列
        rownumbers:true,//显示行号
        singleSelect:false,//是否单选
        pagination:true,//显示分页栏
        pageList:[10,20,50,100],//每页行数选择列表
        pageSize:10,//出事每页行数
        remoteSort:true,//是否服务器端排序,设成false,才能客户端排序
        sortName:sno,//设置排序列
        sortOrder:desc,//排序方式
        toolbar:[{iconCls:icon-search,text:查询,handler:function(){
            //序列化查询表单
            var f=$("#form2").serialize();
            //alert(f);
            
            $("#st").datagrid({url:"StudentServlet?"+f}).datagrid(load);
            
        }},{iconCls:icon-add,text:添加,handler:function(){
            
            type="add";
            //清楚表单的旧数据
                $("#sno").textbox({readonly:false});
            $("#form1").form("reset");
            $("#saveStu").dialog(open);
            
        }},{iconCls:icon-edit,text:修改,handler:function(){
            
            type="edit";
            //判断是否选中一条记录
            var data=http://www.mamicode.com/$(#st).datagrid(getSelected);
            if(data)
                {
                //alert(data);
                //设置主键字段只读
                $("#sno").textbox({readonly:true});
                
                $("#form1").form("reset");
                $(#form1).form(load,{sno:data.sno,
                    sname:data.sname,ssex:data.ssex,sbirthday:getDate(data.sbirthday),
                    sclass:data.sclass
                });
                //没有databox可以使用
                //$(‘#form1‘).form(‘load‘,data);
                $("#saveStu").dialog({title:修改学生}).dialog(open);
                
                }
            else
                {
                $.messager.show({title:提示,msg:请选中一条记录});
                }
            
            
            
        }},{iconCls:icon-remove,text:删除,handler:function(){
            
            var data=http://www.mamicode.com/$(#st).datagrid(getSelections);
            
            if(data.length>0)
                {
                //alert("选中条数="+data.length);
                $.messager.confirm("确认","确实要删除吗?",function(r){
                    if(r)
                        {
                        //alert("执行删除sno="+data[0].sno);
                        //$.get("DeleteStudentServlet?sno="+data[0].sno,
                        //利用数组,保存选中记录的主键        
                                var snos=[];
                                for(var i=0;i<data.length;i++)
                                    {
                                    snos[i]=data[i].sno;
                                    }
                                
                                
                        $.get("DeleteStudentServlet?snos="+snos,
                                function(rtn){
                            var msg=eval("("+rtn+")");
                            if(msg.success)
                                {
                                $(#st).datagrid(reload);
                                }
                            $.messager.show({title:"提示",msg:msg.message});
                        
                        });
                        
                        }
                });
                
                
                }
            else
                {
                $.messager.show({title:提示,msg:请至少选中一条记录});
                }
                
            
        
        }}]                
    });
})


</script>
<div id="search" class="easyui-panel" title="查询条件" 
data-options="{iconCls:‘icon-search‘,collapsible:true}" style="height:80px;">
<form id="form2" >
<br>
名称:<input class="easyui-textbox" id="sname_s" name="sname_s">

班级:<input class="easyui-textbox" id="sclass_s" name="sclass_s">
</form>

</div>
<table id="st"></table>
<div class="easyui-dialog" id="saveStu" style="width:400px;height:300px;"
title="添加学生" data-options="{closed:true,modal:true,
buttons:[{text:保存,iconCls:icon-save,handler:function(){
$(#form1).form(submit,{
    url:SaveStudentServlet?type=+type,
    onSubmit:function(){
    var isValid = $(this).form(validate);
                
                if (!isValid){
                    $.messager.show({
                        title:消息,
                        msg:数据验证未通过
                    });
                }
                return isValid;    
    },
    success:function(data){
    var msg=eval(( +data+ ));
                if(!msg.success)
                    {
                    $.messager.show({title:提示,msg:msg.message});
                    }
                else
                {
                $(#st).datagrid(reload);
                $.messager.show({title:提示,msg:msg.message});
                $(#saveStu).dialog(close);
                }        
    }
    
});
}},
{text:取消,iconCls:icon-cancel,handler:function(){$(#saveStu).dialog(close)}}]}"
>
<form action="" id="form1" method="post">
<br><br>
<table border="0" width="100%">
<tr>
<td align="right" width="30%">学号:</td>
<td><input class="easyui-textbox" id="sno" name="sno" data-options="{required:true,validType:‘length[3,3]‘}"></td>
</tr>
<tr>
<td align="right" width="30%">名称:</td>
<td><input class="easyui-textbox" id="sname" name="sname" data-options="{required:true,validType:‘length[2,4]‘}"></td>
</tr>
<tr>
<td align="right" width="30%">性别:</td>
<td><input type="radio" name="ssex" value=http://www.mamicode.com/"" checked="checked">男<input type="radio" name="ssex" value=http://www.mamicode.com/"" >女</td>
</tr>
<tr>
<td align="right" width="30%">生日:</td>
<td><input class="easyui-datebox" id="sbirthday" name="sbirthday"></td>
</tr>
<tr>
<td align="right" width="30%">班级:</td>
<td><input class="easyui-textbox" id="sclass" name="sclass" data-options="{validType:‘length[2,5]‘}"></td>
</tr>
</table>

</form>

</div>

</body>
</html>

技术分享

package com.hanqi.web;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.hanqi.service.StudentService;

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

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html");
        
        String spage=request.getParameter("page");
        String srows=request.getParameter("rows");
        
        String sort=request.getParameter("sort");
        String order=request.getParameter("order");
        
        String sname_s=request.getParameter("sname_s");
        if(sname_s!=null)
        {
        sname_s=new String(sname_s.getBytes("ISO-8859-1"),"UTF-8");
        }
        String sclass_s=request.getParameter("sclass_s");
        if(sclass_s!=null)
        {
        sclass_s=new String(sclass_s.getBytes("ISO-8859-1"),"UTF-8");
        }
        if(spage!=null&& srows!=null)
        {
        int page=Integer.parseInt(spage);
        int rows=Integer.parseInt(srows);
        Map<String, String> where= new  HashMap<String, String>();
        
        where.put("sname_s", sname_s);
        
        where.put("sclass_s", sclass_s);
        String ls="";
        if(sort!=null&&order!=null)
        {
            ls=sort+" "+order;
        }
        String json =new StudentService().getPageJSON(page, rows,ls,where);
        
        response.getWriter().print(json);
        
        }
        else
        {
            response.getWriter().print( "{‘title‘:0,‘rows‘:[]}");
        }
    
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}
package com.hanqi.web;

import java.io.IOException;
import java.text.SimpleDateFormat;

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

import com.hanqi.entity.Student;
import com.hanqi.service.StudentService;

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

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html");
        String sno=request.getParameter("sno");
        String sname=request.getParameter("sname");
        String ssex=request.getParameter("ssex");
        String sbirthday=request.getParameter("sbirthday");
        String sclass=request.getParameter("sclass");
        //接受参数 表示添加或修改
        
        String type=request.getParameter("type");
        
        
        if(sno!=null && type!=null)
        {
            String msg="{‘success‘:true,‘message‘:‘保存成功‘}";
            try
            {
                Student stu=new Student();
                stu.setSno(sno);
                stu.setSclass(sclass);
                stu.setSname(sname);
                stu.setSsex(ssex);
                if(sbirthday!=null&&!sbirthday.trim().equals(""))
                {
                SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
                stu.setSbirthday(sdf.parse(sbirthday));
                }
                if(type.equals("add"))
                {
                new StudentService().addStudent(stu);
                }
                else
                {
                    new StudentService().editStudent(stu);
                }
            }
            catch(Exception e)
            {
                msg="{‘success‘:false,‘message‘:‘保存不成功,数据异常"+e.getMessage()+"‘}";
            }
            
            
            response.getWriter().print(msg);
        }
        else
        {
            String msg="{‘success‘:false,‘message‘:访问异常}";
            
            response.getWriter().print(msg);
        }
        
        
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}
package com.hanqi.web;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.hanqi.service.StudentService;

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

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html");
        String snos=request.getParameter("snos");
        System.out.println("1231231312312#####"+snos);
        
        if(snos!=null)
        {
            String msg="{‘success‘:true,‘message‘:‘删除成功‘}";
            try
            {
                String[] sno=snos.split(",");
                for(String s:sno)
                {
                    new StudentService().deleteStudent(s);
                }
        
            }
            catch(Exception e)
            {
                msg="{‘success‘:false,‘message‘:‘删除不成功,数据异常"+e.getMessage()+"‘}";
            }
            response.getWriter().print(msg);
        }
        else
        {

            String msg="{‘success‘:false,‘message‘:‘访问异常‘}";
            
            response.getWriter().print(msg);
        }
        
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

service层

package com.hanqi.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.hanqi.dao.StudentDAO;
import com.hanqi.entity.Student;

public class StudentService {

    //保存
    public void addStudent(Student stu)
    {
        new StudentDAO().insert(stu);
    }
    //修改
        public void editStudent(Student stu)
        {
            new StudentDAO().update(stu);
        }
    //删除
        public void deleteStudent(String sno)
        {
            new StudentDAO().delete(sno);
        }
    
    //查询分页数据
    //返回JSON
    public String getPageJSON(int page,int rows,String sort,Map<String, String>where)
    {
        PageJSON<Student> pj=new PageJSON<>();
        
        String rtn=JSONObject.toJSONString(pj);//"{‘title‘:0,‘rows‘:[]}";
        
        int total=new StudentDAO().getTotal(where);
        if(total>0)
        {
            List<Student>ls= new StudentDAO().getPageList(page, rows, sort, where);
            
            //String ls_json=JSONArray.toJSONString(ls);
            //利用转义字符转成JSON格式的语句
            //rtn="{\"total\":"+total+",\"rows\":"+ls_json+"}";
            pj.setTotal(total);
            pj.setRows(ls);
            rtn=JSONObject.toJSONString(pj);
            
        }    
        return rtn;
    }
    
}

建一个类来封装JSON格式:

package com.hanqi.service;

import java.util.ArrayList;
import java.util.List;

public class PageJSON<T> {
//封装Json数据格式
    private int total=0;
    
    private List<T> rows= new ArrayList<T>();

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public List<T> getRows() {
        return rows;
    }

    public void setRows(List<T> rows) {
        this.rows = rows;
    }
    
}
package com.hanqi.dao;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

import com.hanqi.entity.Student;

public class StudentDAO {

    ServiceRegistry sr=null;
    Configuration cfg=null;
    SessionFactory sf=null;
    Session se=null;
    Transaction tr=null;
    
    public StudentDAO()
    {
        cfg=new Configuration().configure();
        
         sr=new StandardServiceRegistryBuilder()
                .applySettings(cfg.getProperties()).build();
        
    }
    //初始化
    private void init()
    {
        
        sf=cfg.buildSessionFactory(sr);
        se=sf.openSession();
        tr=se.beginTransaction();
    }
    //提交和释放资源
    private void destory()
    {
        tr.commit();
        se.close();
        sf.close();
    }
    //添加数据的方法
    public void insert(Student stu)
    {
        init();
        se.save(stu);
        destory();
    }
    //修改数据的方法
        public void update(Student stu)
        {
            init();
            se.update(stu);
            destory();
        }
        //删除数据的方法
        public void delete(String sno)
        {
            init();
            //Student stu=(Student)se.get(Student.class, sno);
            //se.delete(stu);
            //HQL方式执行删除
            se.createQuery("delete Student where sno=?").setString(0, sno).executeUpdate();
            
            destory();
        }
    //获取分页的数据集合
    public List<Student> getPageList(int page,int rows,String sort,Map<String, String>where )
    {
        List<Student> rtn=new ArrayList<Student>();
        int num=(page-1)*rows;
        init();
        String sql="from Student where 1=1";
        String sname=where.get("sname_s");
        if(sname!=null&&!sname.equals(""))
        {
            sql+="and sname=:sname";
        }
        String sclass=where.get("sclass_s");
        if(sclass!=null&&!sclass.equals(""))
        {
            sql+=" and sclass=:sclass";
        }
        //排序
        if(sort!=null&&!sort.equals(""))
        {
            sql+=" order by "+sort;
        }
             Query q=se.createQuery(sql);
        if(sname!=null&&!sname.equals(""))
        {
            q.setString("sname", sname);
        }
        if(sclass!=null&&!sclass.equals(""))
        {
            q.setString("sclass", sclass);;
        }
        
        rtn=q.setFirstResult(num).
                setMaxResults(rows).list();
        destory();
        return rtn;
    }
    
    //获取数据条数
    public int getTotal(Map<String, String>where)
    {
        int rtn=0;
        init();
        String sql="select count(1) from Student where 1=1";
        String sname=where.get("sname_s");
        if(sname!=null&&!sname.equals(""))
        {
            sql+="and sname=:sname";
        }
        String sclass=where.get("sclass_s");
        if(sclass!=null&&!sclass.equals(""))
        {
            sql+=" and sclass=:sclass";
        }
             Query q=se.createQuery(sql);
        if(sname!=null&&!sname.equals(""))
        {
            q.setString("sname", sname);
        }
        if(sclass!=null&&!sclass.equals(""))
        {
            q.setString("sclass", sclass);;
        }
        
        List<Object>lo=q.list();
        if(lo!=null&&lo.size()>0)
        {
            rtn=Integer.parseInt(lo.get(0).toString());
        }
        
         destory();
        return rtn;
    }
    
    
    
    
}

技术分享

 

技术分享

 

easyui表格的增删改查