员工与部门表








EmployeeMapper.xml

<?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.frank.dao.EmployeeMapper">
<select id="selectEmployeeById" parameterType="int" resultMap="a">
select * from employee e,department d where e.d_id=d.id and
e.eid=#{eid};
</select>

<resultMap type="Employee" id="a">
<id property="eid" column="eid" />
<result property="username" column="username" />
<result property="password" column="password" />
<result property="gender" column="gender" />
<result property="birthday" column="birthday" />
<result property="salary" column="salary" />
<association property="dd" javaType="Department">
<id column="id" property="id" />
<result column="dname" property="dname" />
<result column="location" property="location" />
</association>
</resultMap>

<select id="selectEmployees" resultMap="a">
select * from Employee
e,department d where e.d_id=d.id
</select>

<insert id="insertEmployee" parameterType="Employee">
<selectKey keyColumn="eid" order="AFTER" resultType="int">
select
last_insert_id()
</selectKey>
insert into
Employee(username,password,birthday,gender,salary,d_id)values(#{username},#{password},#{birthday},#{gender},#{salary},#{dd.id});
</insert>

<!--批量删除 -->
<delete id="deleteEmployees" parameterType="String">
delete from
Employee
where eid in ( ${value} );
</delete>

<delete id="deleteEmployee" parameterType="int">
delete from Employee
where eid=#{eid}
</delete>

<update id="updateEmployee" parameterType="Employee">
update Employee set
username=#{username},
password=#{password}, gender=#{gender},
birthday=#{ birthday} , salary=#{salary} , d_id=#{
dd.id} where
eid=#{eid}
</update>

</mapper>

EmployeeMapper接口

public interface EmployeeMapper {
/*
* 增删改查
*/
public void insertEmployee(Employee e);

public void deleteEmployee(int eid);

public void updateEmployee(Employee e);
    //根据id查询
public Employee selectEmployeeById(int eid);

public List<Employee> selectEmployees();
   //批量删除
public void deleteEmployees(String eids);

}

DepartmentMapper.xml

<?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.frank.dao.EmployeeMapper">
<select id="selectEmployeeById" parameterType="int" resultMap="a">
select * from employee e,department d where e.d_id=d.id and
e.eid=#{eid};
</select>

<resultMap type="Employee" id="a">
<id property="eid" column="eid" />
<result property="username" column="username" />
<result property="password" column="password" />
<result property="gender" column="gender" />
<result property="birthday" column="birthday" />
<result property="salary" column="salary" />
<association property="dd" javaType="Department">
<id column="id" property="id" />
<result column="dname" property="dname" />
<result column="location" property="location" />
</association>
</resultMap>

<select id="selectEmployees" resultMap="a">
select * from Employee
e,department d where e.d_id=d.id
</select>

<insert id="insertEmployee" parameterType="Employee">
<selectKey keyColumn="eid" order="AFTER" resultType="int">
select
last_insert_id()
</selectKey>
insert into
Employee(username,password,birthday,gender,salary,d_id)values(#{username},#{password},#{birthday},#{gender},#{salary},#{dd.id});
</insert>

<!--批量删除 -->
<delete id="deleteEmployees" parameterType="String">
delete from
Employee
where eid in ( ${value} );
</delete>

<delete id="deleteEmployee" parameterType="int">
delete from Employee
where eid=#{eid}
</delete>

<update id="updateEmployee" parameterType="Employee">
update Employee set
username=#{username},
password=#{password}, gender=#{gender},
birthday=#{ birthday} , salary=#{salary} , d_id=#{
dd.id} where
eid=#{eid}
</update>

</mapper>

DepartmentMapper接口

public interface DepartmentMapper {

public List<Department> selectDepartments();

}

MyDateConverter类

public class MyDateConverter implements Converter<String, Date> {

/*
* 日期转换器 将String类型转换成date类型
*/

public Date convert(String str) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(str);

return date;
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}

}


/**EmployeeServiceImpl的实现类
 * 
 */
package com.frank.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.frank.dao.EmployeeMapper;
import com.frank.pojo.Employee;
import com.frank.service.EmployeeService;

@Transactional
@Service
public class EmployeeServiceImpl implements  EmployeeService{

@Autowired
private EmployeeMapper employeeMapper;

@Override
public void insertEmployee(Employee e) {
employeeMapper.insertEmployee(e);
}

/* 

*/
@Override
public void deleteEmployee(int eid) {
// TODO Auto-generated method stub
employeeMapper.deleteEmployee(eid);
}

/* 

*/
@Override
public void updateEmployee(Employee e) {
// TODO Auto-generated method stub
employeeMapper.updateEmployee(e);
}

/* 

*/
@Override
public Employee selectEmployeeById(int eid) {
Employee selectEmployeeById = employeeMapper.selectEmployeeById(eid);
return selectEmployeeById;
}

/* 

*/
@Override
public List<Employee> selectEmployees() {
List<Employee> list = employeeMapper.selectEmployees();
return list;
}

/* 

*/
@Override
public void deleteEmployees(String eids) {
employeeMapper.deleteEmployees(eids);

}

}


/**controller类
 * 
 */
package com.frank.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.frank.pojo.Employee;
import com.frank.service.EmployeeService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

/** 
 *
 */
@Controller
@RequestMapping("employee")
public class TestController {

/*public void insertEmployee(Employee e);

public void deleteEmployee(int eid);

public void updateEmployee(Employee e);
    //根据id查询
public Employee selectEmployeeById(int eid);

public List<Employee> selectEmployees();
   //批量删除
public void deleteEmployees(String eids);*/

@Autowired
private EmployeeService service;

@RequestMapping("insertEmployee")
public String insertEmployee(Employee e){
service.insertEmployee(e);
return "redirect:selectEmployees.do";
};

@RequestMapping("/selectEmployees")
public String selectEmpsByPage(@RequestParam(value="pageno",defaultValue="1")Integer pageno,@RequestParam(value="pagesize",defaultValue="2")Integer pagesize,Model model){

//pageNum查询的页码
//pageSize每页的条数
PageHelper.startPage(pageno, pagesize);
//查询所有的员工数据
List<Employee> list = service.selectEmployees();
//将所有员工数据封装到pageInfo中
PageInfo pageInfo = new PageInfo(list);
      model.addAttribute("pageInfo", pageInfo);

return "pagelist";
}

/*@RequestMapping("selectEmployees")
public String selectEmployees(Model model){
List<Employee> selectEmployees = service.selectEmployees();
model.addAttribute("list",selectEmployees);
return "list";
};*/

@RequestMapping("deleteEmployee")
public String deleteEmployee(int eid){
service.deleteEmployee(eid);
return "redirect:selectEmployees.do";
};

@RequestMapping("deleteEmployees")
public String deleteEmployees(String eids){
service.deleteEmployees(eids);
return "redirect:selectEmployees.do";
};

@RequestMapping("updateEmployee")
public String updateEmployee(Employee e){
service.updateEmployee(e);
return "redirect:selectEmployees.do";
};
    //根据id查询
@ResponseBody
@RequestMapping("selectEmployeeById")
public Employee selectEmployeeById(int eid,Model model){
Employee employee = service.selectEmployeeById(eid);
System.out.println(employee);
model.addAttribute("employee", employee);
return employee;
};

}

05_BootScrap——CRUD(动态页面中篇)相关推荐

  1. 静态页面和动态页面的区别

    静态页面和动态页面的区别 一.静态web页面: 1.在静态Web程序中,客户端使用Web浏览器(IE.FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Requ ...

  2. asp是什么文件?html和asp的区别?(HTML是客户端语言,主要用于创建静态网页;asp是服务器端语言,用于设计用户交互式页面或动态页面)

    1.HTML是一种客户端语言,它允许Web浏览器解析并显示在标签之间写入的内容,允许把图像和对象嵌入到网页中.ASP是一种服务器端语言,这意味着写入的代码将被发送到服务器中,并根据要求执行的操作返回一 ...

  3. web 静态页面和动态页面的区别

    文章目录 一.静态web页面: 二.动态web页面: 为什么需要web服务器?(web server) 三.关于两者区别的简单直接的描述 四.实验测试 一.静态web页面: 1.在静态Web程序中,客 ...

  4. python获取动态数据采集仪代理_Python3爬虫技术文档(3)——动态页面数据采集,三,获取...

    上文说到,我们可以通过分析Ajax访问服务器的方式来获取Ajax数据.Ajax也算动态渲染页面的一种.所以,动态页面也是可以爬取滴. Selenium Selenium是一个用于Web应用程序测试的工 ...

  5. node 没有界面的浏览器_node.js爬虫入门(二)爬取动态页面(puppeteer)

    之前第一篇爬虫教程node.js爬虫入门(一)爬取静态页面讲解了静态网页的爬取,十分简单,但是遇到一些动态网页(ajax)的话,直接用之前的方法发送请求就无法获得我们想要的数据.这时就需要通过爬取动态 ...

  6. 爬虫——模拟点击动态页面

    动态页面的模拟点击: 以斗鱼直播为例:http://www.douyu.com/directory/all 爬取每页的房间名.直播类型.主播名称.在线人数等数据,然后模拟点击下一页,继续爬取 #!/u ...

  7. memc_nginx+srcache_nginx+memcached构建透明的动态页面缓存

    为什么80%的码农都做不了架构师?>>>    在上一节< nginx+memcached构建页面缓存应用> http://www.ttlsa.com/html/2418 ...

  8. jsp页面内引入静态html,JSP技术实现动态页面到静态页面的方法

    本文是介绍了jsp技术实现动态页面到静态页面的方法,分享给大家,具体如下: 对于JSP技术实现动态页面到静态页面的方案,我们从三个步骤来说明: JSP技术实现动态页面到静态页面的方案第一: 为了能深入 ...

  9. java获取b站动态列表地址_爬虫入门(三)爬取b站搜索页视频分析(动态页面,DBUtils存储)...

    这一次终于到了分析b站视频了.开始体会到写博客非常占用学技术的时间,但是还是希望能总结,沉淀下来. 工具:使用Webmaigc框架,DBUtils,C3P0连接池. 分析过程:b站的搜索页面是这样的. ...

最新文章

  1. Linux下安装ftp服务器异常,linux下安装ftp服务器
  2. oracle 查虚拟路径,Oracle11gR2创建虚拟专用恢复目录
  3. 副连长是什么级别_“上尉副连长”和“中尉连长”谁的级别高 别再傻傻不知道!...
  4. 轻松学习,高效学习,那些年大学玩命的学习方法
  5. Trie树:应用于统计和排序
  6. KVM安装Windows Server 2008 R2使用virtio硬盘
  7. oracle 10g express linux,在Ubuntu下安装Oracle Database 10g Express Edition
  8. 轨迹规划实现 tfaar_example2.7
  9. LeetCode—Python版数组简单题(一)
  10. java后端英文_计算机程序员 前后台 英文怎么说
  11. 3 个主流 Java 微服务框架,各有特色
  12. linux 配置思科路由器,思科路由器配置帧中继基本命令
  13. 数学建模竞赛经验分享(从本科生到研究生,获奖成功率100%,我从数模所学)
  14. 最不起眼的基础知识,却成了你面试跨不过去的门槛
  15. 招聘时最看重应聘者的什么特质?
  16. 使用Wps切分单页PDF文件为多页pdf
  17. Starling MovieClip API
  18. 带有小叉号的textview
  19. BiliBili 扭蛋机
  20. Python初级学习教程—从入门开始学习(函数、组合数据类型、文件操作、异常、模块)

热门文章

  1. 嵌入式开发从入门到精通之第二十五节:IPMSG协议
  2. 又一篇关于各种音视频编码的
  3. 如何使用IDEA查看jar包,jar包的正确打开方式
  4. android uiautomator 截屏,安卓系统手机用uiautomatorviewer.bat截图失败或者用adb截的图片打不开...
  5. 【考研计算机网络】课堂笔记3 第三章 数据链路层_Data Link Layer
  6. 主流浏览器最新版离线版安装包下载链接或下载方法
  7. android 华为 多语言,原来华为手机自带翻译神器!这3个方法,一键实现多国语言翻译...
  8. 分区表损坏引发的血案
  9. c# iot .net6 树莓派 i2c通讯 读取温湿传感器 芯片sht30代码实例
  10. 强制下线 使用本地广播