第一次Spring mvc mybatis 联合项目
mapper接口
package com.qf.mds.mapper;
import com.qf.mds.entity.Dept;
import com.qf.mds.entity.Emp;
import java.util.List;
/**
* Created by Administrator on 2020/8/14.
*/
public interface EmpMapper {
//查询所有Emp
public List<Emp> findDepts( );
//查询所有dept
public List<Dept> findDept( );
//增加emp信息
public void addEmp(Emp emp);
//删除信息
public void deletEmpByid(int id);
//编辑个人信息
public Emp findByid(int id);
//更新个人信息
public void updateEmp( Emp emp);
}
对应的mapper接口方法mapping
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qf.mds.mapper.EmpMapper">
<resultMap id="empMapper" type="com.qf.mds.entity.Emp">
<id property="id" column="id"/>
<result property="name" column="ename"/>
<result property="salary" column="salary"/>
<association property="dept" javaType="com.qf.mds.entity.Dept">
<id property="deptno" column="id"/>
<result property="dname" column="dname"/>
<result property="loc" column="loc"/>
</association>
</resultMap>
<select id="findDepts" resultMap="empMapper">
SELECT e.id,e.ename,e.salary,d.dname,d.loc
FROM dept d ,emp e
WHERE d.`id`=e.`dept_id`
</select>
<resultMap id="dept" type="com.qf.mds.entity.Dept">
<id property="deptno" column="id"/>
<result property="dname" column="dname"/>
<result property="loc" column="loc"/>
</resultMap>
<select id="findDept" resultMap="dept">
SELECT *
FROM dept
</select>
<resultMap id="Emp" type="com.qf.mds.entity.Emp">
<id property="id" column="id"/>
<result property="name" column="ename"/>
<result property="salary" column="salary"/>
<result property="dept_id" column="dept_id"/>
</resultMap>
<insert id="addEmp" >
INSERT INTO Emp (id,ename,salary,dept_id)
VALUES (NULL ,#{name},#{salary},#{dept_id} )
</insert>
<delete id="deletEmpByid" >
DELETE FROM Emp WHERE id =#{id}
</delete>
<select id="findByid" resultMap="empMapper">
SELECT e.id,e.ename,e.salary,d.dname,d.loc,e.dept_id
FROM dept d ,emp e
WHERE d.`id`=e.`dept_id`
and e.id=#{id}
</select>
<update id="updateEmp" parameterType="com.qf.mds.entity.Emp">
UPDATE EMP
SET ename=#{name},salary=#{salary},dept_id=#{dept_id}
WHERE id=#{id}
</update>
</mapper>
service层
package com.qf.mds.service;
import com.qf.mds.entity.Dept;
import com.qf.mds.entity.Emp;
import com.qf.mds.mapper.EmpMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Created by Administrator on 2020/8/14.
*/
@Service
public class Empserviceimpl implements Empservice{
@Autowired(required = false)
private EmpMapper empMapper;
@Override
public List<Emp> qureyall() {
List<Emp> list = empMapper.findDepts();
return list;
}
@Override
public List<Dept> qureyDept() {
List<Dept> dept = empMapper.findDept();
return dept;
}
@Override
public void qureyEmp(Emp emp) {
empMapper.addEmp(emp);
}
@Override
public void qureydelete(int id) {
empMapper.deletEmpByid(id);
}
@Override
public Emp qureyfindByid(int id) {
Emp emp = empMapper.findByid(id);
return emp;
}
@Override
public void qureyupdateEmp(Emp emp) {
empMapper.updateEmp(emp);
}
}
controller层servlet通过实现service层
package com.qf.mds.controller;
import com.qf.mds.entity.Dept;
import com.qf.mds.entity.Emp;
import com.qf.mds.service.Empservice;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* Created by Administrator on 2020/8/14.
*/
@Controller
public class EmpServlet {
@Autowired
private Empservice empservice;
@RequestMapping(value = "/list",method = RequestMethod.GET)
public String findall(Model model){
List<Emp> list = empservice.qureyall();
model.addAttribute("list",list);
return "list";
}
@RequestMapping(value = "/add",method = RequestMethod.GET)
public String addemp(Model model){
List<Dept> depts = empservice.qureyDept();
model.addAttribute("depts",depts);
return "add";
}
@RequestMapping(value = "/add1",method = RequestMethod.POST)
public String addEmp( Emp emp){
empservice.qureyEmp(emp);
return "redirect:list";
}
@RequestMapping(value = "/delete/{id}",method = RequestMethod.GET)
public String delete(@PathVariable("id") int id){
empservice.qureydelete(id);
return "redirect:/list";
}
@RequestMapping(value = "/find",method = RequestMethod.GET)
public String findbyid(Model model,@RequestParam("id") int id){
List<Dept> depts = empservice.qureyDept();
model.addAttribute("depts",depts);
Emp emp = empservice.qureyfindByid(id);
model.addAttribute("list",emp);
return "add1";
}
@RequestMapping(value = "/update",method = RequestMethod.POST)
public String delete(Model model,Emp emp){
empservice.qureyupdateEmp(emp);
return "redirect:/list";
}
}