目录
一、用户管理后台代码
二、用户新增
三、编辑和删除
一、用户管理后台代码
了解一下数据库中的用户表t_oa_user
select *
,
(case rid
when 1 then '管理员'
when 2 then '发起者'
when 3 then '审批者'
when 4 then '参与者'
when 5 then '会议室管理员'
else '其他' end ) roleName
FROM t_oa_user
结果:
写UserDao
package com.zking.dao; import java.sql.SQLException; import java.util.List; import java.util.Map; import com.zking.entity.User; import com.zking.util.BaseDao; import com.zking.util.PageBean; public class UserDao extends BaseDao{ public User login(User user) throws Exception { String sql = "select * from t_oa_user where loginName='"+user.getLoginName()+"' and pwd='"+user.getPwd()+"' "; // return super.executeQuery(sql, clz, pageBean); //根据sql查询符合条件的用户,通常只会返回一条数据 List users = super.executeQuery(sql, User.class,null); return users == null || users.size() == 0 ? null : users.get(0); } // 查询用户信息及对应的角色 角色是通过case when得到的 public List
测试:
package com.zking.dao;
import static org.junit.Assert.*;
import java.util.List;
import java.util.Map;
import org.junit.Test;
import com.zking.entity.User;
import com.zking.util.PageBean;
public class UserDaoTest {
private UserDao userDao = new UserDao();
@Test
public void testList() {
User user = new User();
PageBean pageBean = new PageBean();
try {
List> list = userDao.list(user, pageBean);
for (Map map : list) {
//System.out.println(map);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Test
public void testAdd() {
User user = new User();
user.setName("111");
user.setLoginName("aaa");
user.setPwd("123456");
try {
userDao.add(user);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Test
public void testDel() {
User user = new User();
user.setId(14L);
try {
userDao.del(user);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Test
public void testEdit() {
User user = new User();
user.setName("abc");
user.setPwd("666");
user.setId(13L);
try {
userDao.edit(user);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
测试查询所有的方法
测试增加的方法,再从数据库中查询
测试修改
测试删除
再写UserAction
package com.zking.web; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.catalina.util.RequestUtil; import com.zking.dao.UserDao; import com.zking.entity.User; import com.zking.framework.ActionSupport; import com.zking.framework.ModelDriver; import com.zking.util.PageBean; import com.zking.util.R; import com.zking.util.ResponseUtil; public class UserAction extends ActionSupport implements ModelDriver{ private User user = new User(); private UserDao userDao = new UserDao(); // 写一个方法处理前台的请求 // public String login(HttpServletRequest req, HttpServletResponse resp) { // Map map = new HashMap (); // if("zhangsan".equals(user.getUsername()) && "123456".equals(user.getPassword())) { 登录成功 // map.put("code", 200); // map.put("msg", "成功"); // // } // else { 登录失败 // map.put("code", 0); // map.put("msg", "账户或者密码错误"); // } // try { // ResponseUtil.writeJson(resp, map); // } catch (Exception e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // return null; // } public String login(HttpServletRequest req, HttpServletResponse resp) { try { User u = userDao.login(user); //通过账户名密码查到了用户记录 if(u != null) { // 登录成功 //ResponseUtil.writeJson(resp, new R().data("code", 200).data("msg","成功")); ResponseUtil.writeJson(resp, R.ok(200, "成功")); } else { // 登录失败 //ResponseUtil.writeJson(resp, new R().data("code",0).data("msg","账户或密码错误")); ResponseUtil.writeJson(resp, R.error(0, "账户或密码错误")); } } catch (Exception e) { // TODO: handle exception } return null; } //用户查询 public String list(HttpServletRequest req, HttpServletResponse resp) { try { PageBean pageBean = new PageBean(); pageBean.setRequest(req); List > users = userDao.list(user, pageBean); // 注意:layui中的数据表格的格式 ResponseUtil.writeJson(resp, R.ok(0, "用户数据查询成功",pageBean.getTotal(),users)); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); try { ResponseUtil.writeJson(resp, R.error(0, "用户数据查询失败")); } catch (Exception e2) { // TODO: handle exception e2.printStackTrace(); } } return null; } public String add(HttpServletRequest req, HttpServletResponse resp) { try { //影响行数 int rs = userDao.add(user); if(rs>0) { ResponseUtil.writeJson(resp, R.ok(200, "用户数据新增成功")); } else { ResponseUtil.writeJson(resp, R.error(0, "用户数据新增失败")); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); try { ResponseUtil.writeJson(resp, R.error(0, "用户数据查询失败")); } catch (Exception e2) { // TODO: handle exception e2.printStackTrace(); } } return null; } public String del(HttpServletRequest req, HttpServletResponse resp) { try { //影响行数 int rs = userDao.del(user); if(rs>0) { ResponseUtil.writeJson(resp, R.ok(200, "用户数据删除成功")); } else { ResponseUtil.writeJson(resp, R.error(0, "用户数据删除失败")); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); try { ResponseUtil.writeJson(resp, R.error(0, "用户数据删除失败")); } catch (Exception e2) { // TODO: handle exception e2.printStackTrace(); } } return null; } public String edit(HttpServletRequest req, HttpServletResponse resp) { try { //影响行数 int rs = userDao.edit(user); if(rs>0) { ResponseUtil.writeJson(resp, R.ok(200, "用户数据修改成功")); } else { ResponseUtil.writeJson(resp, R.error(0, "用户数据修改失败")); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); try { ResponseUtil.writeJson(resp, R.error(0, "用户数据修改失败")); } catch (Exception e2) { // TODO: handle exception e2.printStackTrace(); } } return null; } @Override public User getModel() { return user; } }
二、用户新增
userManage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@include file="/common/header.jsp" %>
用户管理
userManage.js
let layer,$,table;
var row;
layui.use(['jquery','layer','table'],function(){
layer=layui.layer,
$=layui.jquery,
table=layui.table;
//初始化表格
initTable();
//绑定查询按钮的点击事件
$('#btn_search').click(function(){
query();
});
//绑定新增按钮的点击事件
$('#btn_add').click(function(){
row=null;
open('新增');
});
});
//1.初始化数据表格
function initTable(){
table.render({ //执行渲染
elem: '#tb', //指定原始表格元素选择器(推荐id选择器)
// url: 'user.action?methodName=list', //请求地址
height: 340, //自定义高度
loading: false, //是否显示加载条(默认 true)
cols: [[ //设置表头
{field: 'id', title: '用户编号', width: 120},
{field: 'name', title: '用户名', width: 120},
{field: 'loginName', title: '登录账号', width: 140},
{field: '', title: '操作', width: 220,toolbar:'#toolbar'},
]]
});
//在页面中的

