目录
一、后台
1、UserDao
package com.zking.dao;
import java.util.List;
import java.util.Map;
import com.zking.entity.User;
import com.zking.util.BaseDao;
import com.zking.util.PageBean;
import com.zking.util.StringUtils;
public class UserDao extends BaseDao<User> {
public User login(User user) throws Exception {
String sql="select * from t_oa_user where loginName='"+user.getLoginName()+"' and pwd='"+user.getPwd()+"'";
// 根据sql查询符合条件的用户,通常只会返回一条数据
List<User> users = super.executeQuery(sql, User.class, null);
return users==null||users.size()==0?null:users.get(0);
// return super.executeQuery(sql, clz, pageBean);
}
//查询用户信息及对应的角色,角色是通过case when得来的
public List<Map<String,Object>> list(User user,PageBean pageBean) throws Exception{
String sql = "select * \r\n" +
" ,(case rid \r\n" +
" when 1 then '管理者' \r\n" +
" when 2 then '发起者' \r\n" +
" when 3 then '审批者' \r\n" +
" when 4 then '参与者' \r\n" +
" when 5 then '会议室管理员' \r\n" +
" else '其他' end \r\n" +
" ) roleName from t_oa_user where 1=1";
String name = user.getName();
if(StringUtils.isNotBlank(name)) {
sql+=" and name like '%"+name+"%' ";
}
//实体类的属性完全包含数据库查询出来的列段的时候使用
//super.executeUpdate(sql, User.cl, pageBean)
//返回List<Map<String,Object>>对应的是联表查询,单个实体类对象不完全包含查询的列段
return super.executeQuery(sql, pageBean);
}
//增加
public int add(User user) throws Exception {
String sql = "insert into t_oa_user(name,loginName,pwd) values(?,?,?)";
return super.executeUpdate(sql, user, new String[] {"name","loginName","pwd"});
}
//删
public int del(User user) throws Exception {
String sql = "delete from t_oa_user where id=?";
return super.executeUpdate(sql, user, new String[] {"id"});
}
//改
public int edit(User user) throws Exception {
String sql = "update t_oa_user set name=?,loginName=?,pwd=? where id=?";
return super.executeUpdate(sql, user, new String[] {"name","loginName","pwd","id"});
}
}
2、UserDaoTest
package com.zking.dao;
import static org.junit.Assert.*;
import java.util.List;
import java.util.Map;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.zking.entity.User;
import com.zking.util.PageBean;
public class UserDaoTest {
private UserDao userDao=new UserDao();
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testList() {
User user=new User();
PageBean pageBean = new PageBean();
try {
List<Map<String, Object>> list=userDao.list(user, pageBean);
for (Map<String, Object> map : list) {
System.out.println(map);
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testAdd() {
User user=new User();
user.setName("五彩斑斓的周娟");
user.setLoginName("bm");
user.setPwd("111111");
try {
int n = userDao.add(user);
System.out.println(n);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testDel() {
User user=new User();
user.setId(13L);
try {
int n = userDao.del(user);
System.out.println(n);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testEdit() {
User user=new User();
user.setName("五彩斑斓的周娟1");
user.setLoginName("bm1");
user.setPwd("1111112");
user.setId(13L);
try {
int n = userDao.edit(user);
System.out.println(n);
} catch (Exception e) {
e.printStackTrace();
}
}
}
List方法运行结果:
add方法测试(为1代表成功):