//跳转到编辑页面
public void toEdit(HttpServletRequest req, HttpServletResponse resp) {
//获取到list.jsp请求的id
String id = req.getParameter("id");
//调用业务层的selectById方法查询单个对象
Dept dept = deptService.selectById(id);
//查询部门信息
List all = deptService.selectAll();
for (Dept dept1 : all) {
System.out.println(dept1.getDeptName());
}
req.setAttribute("deptList",all);
//设置共享数据,让update.jsp的表单项获取
req.setAttribute("dept",dept);
try {
//转发到编辑页面
req.getRequestDispatcher("/WEB-INF/pages/system/dept/update.jsp").forward(req, resp);
} catch (Exception e) {
e.printStackTrace();
}
}
//编辑
public void edit(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Map<String, String[]> map = req.getParameterMap();
Dept dept = new Dept();
dateConvert();
try {
BeanUtils.populate(dept,map);
} catch (Exception e) {
e.printStackTrace();
}
int result = deptService.update(dept);
System.out.println(result);
this.list(req, resp);
}
jsp代码
<input value="${dept.id}" type="hidden" />
<input value="${dept.deptName}" name="deptName" class="form-control" type="text" />
<option value="">请选择</option>
<button class="btn bg-maroon" type="button">保存</button>
<button class="btn bg-default" type="button">返回</button>
</form>
接口方法
//查询所有
@Select("select * from ss_dept")
@Results({
@Result(column = "dept_id",property = "id"),
@Result(column = "dept_name",property = "deptName"),
@Result(column = "parent_id",property = "parentId"),
@Result(column = "state",property = "state"),
@Result(property = "parent",
javaType = Dept.class,
column = "parent_id",
one = @One(select = "com.itheima.mapper.DeptMapper.selectById")
)
})
List<Dept> selectAll();
//根据id查询
@Select("select * from ss_dept where dept_id=#{id}")
@Results({
@Result(column = "dept_id",property = "id"),
@Result(column = "dept_name",property = "deptName"),
@Result(column = "parent_id",property = "parentId"),
@Result(column = "state",property = "state")
})
Dept selectById(String id);
//添加
@Insert("insert into ss_dept values (#{id},#{deptName},#{parentId},#{state})")
int add(Dept dept);
//修改
@Update("update ss_dept set dept_name=#{deptName},parent_id=#{parentId} where dept_id=#{id}")
int update(Dept dept);
//删除
@Delete("delete from ss_dept where dept_id=#{id}")
int delete(String id);
业务层
//查询全部
@Override
public List selectAll() {
SqlSession sqlSession = MyBatisUtils.getSqlSession();
DeptMapper mapper = sqlSession.getMapper(DeptMapper.class);
List list = mapper.selectAll();
return list;
}
//分页查询
@Override
public Page pageQuery(Integer start, Integer size) {
SqlSession sqlSession = MyBatisUtils.getSqlSession();
DeptMapper mapper = sqlSession.getMapper(DeptMapper.class);
Page page = PageHelper.startPage(start, size);
mapper.selectAll();
return page;
}
//根据id查询
@Override
public Dept selectById(String id) {
SqlSession sqlSession = MyBatisUtils.getSqlSession();
DeptMapper mapper = sqlSession.getMapper(DeptMapper.class);
Dept dept = mapper.selectById(id);
return dept;
}
//添加
@Override
public int add(Dept dept) {
SqlSession sqlSession = MyBatisUtils.getSqlSession();
DeptMapper mapper = sqlSession.getMapper(DeptMapper.class);
//id使用UUID的生成策略来获取
String id = UUID.randomUUID().toString();
dept.setId(id);
int result = mapper.add(dept);
return result;
}
//修改
@Override
public int update(Dept dept) {
SqlSession sqlSession = MyBatisUtils.getSqlSession();
DeptMapper mapper = sqlSession.getMapper(DeptMapper.class);
int result = mapper.update(dept);
return result;
}
//删除
@Override
public int delete(String id) {
SqlSession sqlSession = MyBatisUtils.getSqlSession();
DeptMapper mapper = sqlSession.getMapper(DeptMapper.class);
int result = mapper.delete(id);
return result;
}