- <listener>
-
- <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
- listener>
- <context-param>
- <param-name>contextConfigLocationparam-name>
- <param-value>classpath:spring.xmlparam-value>
- context-param>
代码示例:
web.xml:
- <servlet>
- <servlet-name>DispatcherServletservlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
- <init-param>
- <param-name>contextConfigLocationparam-name>
- <param-value>classpath:springmvc.xmlparam-value>
- init-param>
- <load-on-startup>1load-on-startup>
- servlet>
- <servlet-mapping>
- <servlet-name>DispatcherServletservlet-name>
- <url-pattern>/url-pattern>
- servlet-mapping>
-
- <listener>
-
- <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
- listener>
- <context-param>
- <param-name>contextConfigLocationparam-name>
- <param-value>classpath:spring.xmlparam-value>
- context-param>
spring.xml:
<context:component-scan base-package="com.chenyixin.ssm.service"/>
springmvc.xml:
-
- <context:component-scan base-package="com.chenyixin.ssm.controller"/>
-
-
- <bean id="viewResolver"
- class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
- <property name="order" value="1"/>
- <property name="characterEncoding" value="UTF-8"/>
- <property name="templateEngine">
- <bean class="org.thymeleaf.spring5.SpringTemplateEngine">
- <property name="templateResolver">
- <bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
-
- <property name="prefix" value="/WEB-INF/templates/"/>
-
- <property name="suffix" value=".html"/>
- <property name="templateMode" value="HTML5"/>
- <property name="characterEncoding" value="UTF-8"/>
- bean>
- property>
- bean>
- property>
- bean>
-
-
- <mvc:annotation-driven/>
-
-
- <mvc:view-controller path="/" view-name="index"/>
创建 Service 层(除注解外,无代码内容)
创建 Controller 层
- @Controller
- public class HelloController {
-
- @Autowired
- private HelloService helloService;
- }
index.html:
- <head>
- <meta charset="UTF-8">
- <title>首页title>
- head>
- <body>
- <h1>index.htmlh1>
- body>
结果:运行服务器,正常运行
若将监听器注释掉,则服务器运行报错:
-
-
-
-
-
-
-
-
-
-
-
-
- <properties>
- <spring.version>5.3.1spring.version>
- properties>
-
- <dependencies>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-contextartifactId>
- <version>${spring.version}version>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-beansartifactId>
- <version>${spring.version}version>
- dependency>
-
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-webartifactId>
- <version>${spring.version}version>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-webmvcartifactId>
- <version>${spring.version}version>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-jdbcartifactId>
- <version>${spring.version}version>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-aspectsartifactId>
- <version>${spring.version}version>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-testartifactId>
- <version>${spring.version}version>
- dependency>
-
-
-
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-ormartifactId>
- <version>5.3.1version>
- dependency>
-
-
- <dependency>
- <groupId>org.mybatisgroupId>
- <artifactId>mybatisartifactId>
- <version>3.5.7version>
- dependency>
-
-
- <dependency>
- <groupId>org.mybatisgroupId>
- <artifactId>mybatis-springartifactId>
- <version>2.0.6version>
- dependency>
-
-
- <dependency>
- <groupId>com.alibabagroupId>
- <artifactId>druidartifactId>
- <version>1.0.9version>
- dependency>
-
-
- <dependency>
- <groupId>junitgroupId>
- <artifactId>junitartifactId>
- <version>4.12version>
- <scope>testscope>
- dependency>
-
-
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- <version>8.0.16version>
- dependency>
-
-
- <dependency>
- <groupId>log4jgroupId>
- <artifactId>log4jartifactId>
- <version>1.2.17version>
- dependency>
-
-
- <dependency>
- <groupId>com.github.pagehelpergroupId>
- <artifactId>pagehelperartifactId>
- <version>5.2.0version>
- dependency>
-
-
- <dependency>
- <groupId>ch.qos.logbackgroupId>
- <artifactId>logback-classicartifactId>
- <version>1.2.3version>
- dependency>
-
-
- <dependency>
- <groupId>javax.servletgroupId>
- <artifactId>javax.servlet-apiartifactId>
- <version>3.1.0version>
- <scope>providedscope>
- dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.coregroupId>
- <artifactId>jackson-databindartifactId>
- <version>2.12.1version>
- dependency>
-
- <dependency>
- <groupId>commons-fileuploadgroupId>
- <artifactId>commons-fileuploadartifactId>
- <version>1.3.1version>
- dependency>
-
-
- <dependency>
- <groupId>org.thymeleafgroupId>
- <artifactId>thymeleaf-spring5artifactId>
- <version>3.0.12.RELEASEversion>
- dependency>
- dependencies>
- CREATE TABLE `t_emp` (
- `emp_id` int(11) NOT NULL AUTO_INCREMENT,
- `emp_name` varchar(20) DEFAULT NULL,
- `age` int(11) DEFAULT NULL,
- `sex` char(1) DEFAULT NULL,
- `email` varchar(50) DEFAULT NULL,
- PRIMARY KEY (`emp_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
-
- INSERT INTO t_emp VALUES
- (1001,'admin',20,'男','admin@qq.com'),
- (NULL,'zhangsan',21,'女','zhangsan@qq.com'),
- (NULL,'lisi',21,'女','lisi@qq.com'),
- (NULL,'wangwu',21,'男','wangwu@qq.com'),
- (NULL,'zaoliu',21,'男','zaoliu@qq.com'),
- (NULL,'tianqi',22,'女','tianqi@qq.com'),
- (NULL,'张三',21,'女','zhangsan@qq.com'),
- (NULL,'李四',21,'女','lisi@qq.com'),
- (NULL,'王五',21,'男','wangwu@qq.com'),
- (NULL,'赵六',21,'男','zaoliu@qq.com'),
- (NULL,'田七',22,'女','tianqi@qq.com'),
- (NULL,'xioaming',22,'男','xioaming@qq.com'),
- (NULL,'xiaohua',22,'男','xiaohua@qq.com'),
- (NULL,'xiaozhang',22,'男','xiaozhang@qq.com'),
- (NULL,'xiaowang',22,'男','xiaowang@qq.com'),
- (NULL,'xiaofang',22,'女','xiaofang@qq.com'),
- (NULL,'小明',22,'男','xioaming@qq.com'),
- (NULL,'小华',22,'男','xiaohua@qq.com'),
- (NULL,'小张',22,'男','xiaozhang@qq.com'),
- (NULL,'小王',22,'男','xiaowang@qq.com'),
- (NULL,'小芳',22,'女','xiaofang@qq.com')
- package com.chenyixin.ssm.pojo;
-
- public class Employee {
- private Integer empId;
- private String empName;
- private Integer age;
- private String sex;
- private String email;
-
- public Employee(Integer empId, String empName, Integer age, String sex, String email) {
- this.empId = empId;
- this.empName = empName;
- this.age = age;
- this.sex = sex;
- this.email = email;
- }
-
- public Employee() {
- }
-
- public Integer getEmpId() {
- return empId;
- }
-
- public void setEmpId(Integer empId) {
- this.empId = empId;
- }
-
- public String getEmpName() {
- return empName;
- }
-
- public void setEmpName(String empName) {
- this.empName = empName;
- }
-
- public Integer getAge() {
- return age;
- }
-
- public void setAge(Integer age) {
- this.age = age;
- }
-
- public String getSex() {
- return sex;
- }
-
- public void setSex(String sex) {
- this.sex = sex;
- }
-
- public String getEmail() {
- return email;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
-
- @Override
- public String toString() {
- return "Employee{" +
- "empId=" + empId +
- ", empName='" + empName + '\'' +
- ", age=" + age +
- ", sex='" + sex + '\'' +
- ", email='" + email + '\'' +
- '}';
- }
- }
- <filter>
- <filter-name>CharacterEncodingFilterfilter-name>
- <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
- <init-param>
- <param-name>encodingparam-name>
- <param-value>UTF-8param-value>
- init-param>
- <init-param>
- <param-name>forceEncodingparam-name>
- <param-value>trueparam-value>
- init-param>
- filter>
- <filter-mapping>
- <filter-name>CharacterEncodingFilterfilter-name>
- <url-pattern>/*url-pattern>
- filter-mapping>
-
-
- <filter>
- <filter-name>HiddenHttpMethodFilterfilter-name>
- <filter-class>org.springframework.web.filter.HiddenHttpMethodFilterfilter-class>
- filter>
- <filter-mapping>
- <filter-name>HiddenHttpMethodFilterfilter-name>
- <url-pattern>/*url-pattern>
- filter-mapping>
-
-
- <servlet>
- <servlet-name>DispatcherServletservlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
-
- <init-param>
- <param-name>contextConfigLocationparam-name>
- <param-value>classpath:springmvc.xmlparam-value>
- init-param>
-
- <load-on-startup>1load-on-startup>
- servlet>
- <servlet-mapping>
- <servlet-name>DispatcherServletservlet-name>
- <url-pattern>/url-pattern>
- servlet-mapping>
-
-
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
- listener>
-
-
- <context-param>
- <param-name>contextConfigLocationparam-name>
- <param-value>classpath:spring.xmlparam-value>
- context-param>
-
- <context:component-scan base-package="com.chenyixin.ssm.controller"/>
-
-
- <bean id="viewResolver"
- class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
- <property name="order" value="1"/>
- <property name="characterEncoding" value="UTF-8"/>
- <property name="templateEngine">
- <bean class="org.thymeleaf.spring5.SpringTemplateEngine">
- <property name="templateResolver">
- <bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
-
- <property name="prefix" value="/WEB-INF/templates/"/>
-
- <property name="suffix" value=".html"/>
- <property name="templateMode" value="HTML5"/>
- <property name="characterEncoding" value="UTF-8"/>
- bean>
- property>
- bean>
- property>
- bean>
-
- <mvc:default-servlet-handler/>
-
-
- <mvc:annotation-driven/>
-
-
- <mvc:view-controller path="/" view-name="index"/>
-
- <context:component-scan base-package="com.chenyixin.ssm">
- <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
- context:component-scan>
-
-
- <context:property-placeholder location="classpath:jdbc.properties"/>
-
-
- <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
- <property name="driverClassName" value="${jdbc.driver}"/>
- <property name="url" value="${jdbc.url}"/>
- <property name="username" value="${jdbc.username}"/>
- <property name="password" value="${jdbc.password}"/>
- bean>
-
-
- <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
- <property name="dataSource" ref="dataSource"/>
- bean>
-
-
- <tx:annotation-driven transaction-manager="transactionManager"/>
- jdbc.driver=com.mysql.cj.jdbc.Driver
- jdbc.url=jdbc:mysql://localhost:3306/ssm?serverTimezone=UTC
- jdbc.username=root
- jdbc.password=root
-
- <bean class="org.mybatis.spring.SqlSessionFactoryBean">
-
- <property name="configLocation" value="classpath:mybatis-config.xml"/>
-
- <property name="dataSource" ref="dataSource"/>
-
- <property name="typeAliasesPackage" value="com.chenyixin.ssm.pojo"/>
-
-
- bean>
-
-
- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
- <property name="basePackage" value="com.chenyixin.ssm.mapper"/>
- bean>
- "1.0" encoding="UTF-8" ?>
- configuration
- PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-config.dtd">
- <configuration>
-
-
-
- <settings>
- <setting name="mapUnderscoreToCamelCase" value="true"/>
- settings>
-
- <plugins>
-
- <plugin interceptor="com.github.pagehelper.PageInterceptor">plugin>
- plugins>
-
- configuration>
EmployeeMapper 接口:
- public interface EmployeeMapper {
- }
EmployeeMapper.xml 映射文件:
- "1.0" encoding="UTF-8" ?>
- mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
- <mapper namespace="com.chenyixin.ssm.mapper.EmployeeMapper">
-
- mapper>
- "1.0" encoding="UTF-8" ?> log4j:configuration SYSTEM "log4j.dtd">
- <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
- <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
- <param name="Encoding" value="UTF-8"/>
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n"/>
- layout>
- appender>
- <logger name="java.sql">
- <level value="debug"/>
- logger>
- <logger name="org.apache.ibatis">
- <level value="info"/>
- logger>
- <root>
- <level value="debug"/>
- <appender-ref ref="STDOUT"/>
- root>
- log4j:configuration>
创建 index.html:
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>首页title>
- head>
- <body>
- <h1>index.htmlh1>
- <a th:href="@{/employee}">员工信息列表a>
- body>
- html>
EmployeeController :
- @Controller
- public class EmployeeController {
-
- @Autowired
- private EmployeeService employeeService;
-
- @GetMapping("/employee/page/{pageNum}")
- public String getAllEmployee(Model model,@PathVariable("pageNum") Integer pageNum) {
- PageInfo
page = employeeService.getAllEmployee(pageNum); - model.addAttribute("page", page);
- return "employee_list";
- }
- }
EmployeeService :
- public interface EmployeeService {
- /**
- * 查询所有员工信息
- * @return List
- */
- PageInfo
getAllEmployee(Integer pageNum); - }
EmployeeServiceImpl
- @Service
- @Transactional
- public class EmployeeServiceImpl implements EmployeeService {
-
- @Autowired
- private EmployeeMapper employeeMapper;
-
- @Override
- public PageInfo
getAllEmployee(Integer pageNum) { - // 开启分页功能,并传入 当前页面,和每页显示的条数
- PageHelper.startPage(pageNum,4);
- List
list = employeeMapper.selectAllEmployee(); - // 创建 PageInfo ,传入 list 和 导航分页的页码数
- return new PageInfo<>(list, 5);
- }
- }
EmployeeMapper
- public interface EmployeeMapper {
-
- /**
- * 查询所有员工信息
- * @return List
- */
- List
selectAllEmployee(); - }
- <mapper namespace="com.chenyixin.ssm.mapper.EmployeeMapper">
-
- <select id="selectAllEmployee" resultType="employee">
- select * from t_emp
- select>
- mapper>
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <link rel="stylesheet" th:href="@{/static/css/index_work.css}">
- <head>
- <meta charset="UTF-8">
- <title>员工信息表title>
- head>
- <body>
- <table>
- <tr>
- <th colspan="6">员工信息th>
- tr>
- <tr>
- <th>流水号th>
- <th>姓名th>
- <th>年龄th>
- <th>性别th>
- <th>邮箱th>
- <th>操作th>
- tr>
- <tr th:each="employee , status: ${page.list}">
- <td th:text="${status.count}">td>
- <td th:text="${employee.empName}">td>
- <td th:text="${employee.age}">td>
- <td th:text="${employee.sex}">td>
- <td th:text="${employee.email}">td>
- <td>
- <a>删除a>
- <a>修改a>
- td>
- tr>
- <tr>
- <td colspan="6">
- <span th:if="${page.hasPreviousPage}">
- <a th:href="@{/employee/page/1}">首页a>
- <a th:href="@{'/employee/page/'+${page.prePage}}">上一页a>
- span>
- <span th:each="num : ${page.navigatepageNums}">
- <a th:if="${page.pageNum == num}" style="color: orangered" th:href="@{'/employee/page/'+${num}}" th:text="'【'+${num}+'】'">a>
- <a th:if="${page.pageNum != num}" th:href="@{'/employee/page/'+${num}}" th:text="${num}">a>
- span>
-
- <span th:if="${page.hasNextPage }">
- <a th:href="@{'/employee/page/'+${page.nextPage}}">下一页a>
- <a th:href="@{'/employee/page/'+${page.pages}}">末页a>
- span>
- td>
- tr>
- table>
- body>
- html>
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <link rel="stylesheet" th:href="@{/static/css/index_work.css}">
- <head>
- <meta charset="UTF-8">
- <title>员工信息表title>
- head>
- <body>
- <table id="dataTable">
- <tr>
- <th colspan="6">员工信息th>
- tr>
- <tr>
- <th>流水号th>
- <th>姓名th>
- <th>年龄th>
- <th>性别th>
- <th>邮箱th>
- <th>操作th>
- tr>
- <tr th:each="employee , status: ${page.list}">
- <td th:text="${status.count}">td>
- <td th:text="${employee.empName}">td>
- <td th:text="${employee.age}">td>
- <td th:text="${employee.sex}">td>
- <td th:text="${employee.email}">td>
- <td>
- <a @click="deleteEmployee" th:href="@{'/employee/'+${employee.empId}}">删除a>
- <a>修改a>
- td>
- tr>
- <tr>
- <td colspan="6">
- <span th:if="${page.hasPreviousPage}">
- <a th:href="@{/employee/page/1}">首页a>
- <a th:href="@{'/employee/page/'+${page.prePage}}">上一页a>
- span>
- <span th:each="num : ${page.navigatepageNums}">
- <a th:if="${page.pageNum == num}" style="color: orangered" th:href="@{'/employee/page/'+${num}}"
- th:text="'['+${num}+'] '">a>
- <a th:if="${page.pageNum != num}" th:href="@{'/employee/page/'+${num}}" th:text="${num+' '}">a>
- span>
-
- <span th:if="${page.hasNextPage }">
- <a th:href="@{'/employee/page/'+${page.nextPage}}">下一页a>
- <a th:href="@{'/employee/page/'+${page.pages}}">末页a>
- span>
- td>
- <td>
-
- <form id="delete_form" method="post">
-
- <input type="hidden" name="_method" value="delete"/>
- form>
- td>
- tr>
- table>
-
- <script type="text/javascript" th:src="@{/static/js/vue.js}">script>
- <script type="text/javascript">
- var vue = new Vue({
- el: "#dataTable",
- methods: {
- // event 表示当前事件
- deleteEmployee: function (event) {
- // 通过 id 获取表单标签
- var delete_form = document.getElementById("delete_form");
- // 将触发事件的超链接的 href 属性为表单的 action 属性赋值
- delete_form.action = event.target.href;
- // 提交表单
- delete_form.submit();
- // 阻止超链接的默认跳转行为
- event.preventDefault();
- }
- }
- });
- script>
- body>
- html>
- @DeleteMapping("/employee/{id}")
- public String deleteEmployeeById(@PathVariable Integer id, @RequestHeader("Referer") String referer) {
- employeeService.deleteEmployeeById(id);
- return "redirect:" + referer;
- }
作用:跳转到添加数据页面
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <link rel="stylesheet" th:href="@{/static/css/index_work.css}">
- <head>
- <meta charset="UTF-8">
- <title>添加员工信息title>
- head>
- <body>
- <form th:action="@{/employee}" method="post">
- <table id="dataTable">
- <tr>
- <th colspan="2">添加员工信息th>
- tr>
- <tr>
- <td>姓名td>
- <td>
- <input type="text" name="empName"/>
- td>
- tr>
- <tr>
- <td>年龄td>
- <td>
- <input type="text" name="age" />
- td>
- tr>
- <tr>
- <td>性别td>
- <td>
- <input type="text" name="sex">
- td>
- tr>
- <tr>
- <td>邮箱td>
- <td>
- <input type="text" name="email" >
- td>
- tr>
- <tr>
- <th colspan="2">
- <input type="submit" value="添加">
-
- <input type="reset" value="重置">
- th>
- tr>
- table>
- form>
- body>
- html>
- @RequestMapping("/employee/to/add")
- public String toADD(@RequestHeader("Referer") String referer) {
- this.referer = referer;
- return "employee_add";
- }
- @PostMapping("/employee")
- public String addEmployee(Employee employee) {
- employeeService.addEmployee(employee);
- return "redirect:"+referer;
- }
EmployeeService 接口:
- /**
- * 添加用户信息
- * @param employee
- */
- void addEmployee(Employee employee);
EmployeeServiceImpl 实现类:
- @Override
- public void addEmployee(Employee employee) {
- employeeMapper.insertEmployee(employee);
- }
EmployeeMapper 接口:
- /**
- * 添加用户信息
- * @param employee
- */
- void insertEmployee(Employee employee);
EmployeeMapper.xml 配置文件:
-
- <insert id="insertEmployee">
- insert into t_emp values(null,#{empName},#{age},#{sex},#{email})
- insert>
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <link rel="stylesheet" th:href="@{/static/css/index_work.css}">
- <head>
- <meta charset="UTF-8">
- <title>修改员工信息title>
- head>
- <body>
- <form th:action="@{/employee}" method="post">
- <input type="hidden" name="_method" value="put">
- <input type="hidden" name="empId" th:value="${employee.empId}">
- <table id="dataTable">
- <tr>
- <th colspan="2">修改员工信息th>
- tr>
- <tr>
- <td>姓名td>
- <td>
- <input type="text" name="empName" th:value="${employee.empName}"/>
- td>
- tr>
- <tr>
- <td>年龄td>
- <td>
- <input type="text" name="age" th:value="${employee.age}"/>
- td>
- tr>
- <tr>
- <td>性别td>
- <td>
- <input type="radio" name="sex" value="男" th:field="${employee.sex}">男
- <input type="radio" name="sex" value="女" th:field="${employee.sex}">女
- td>
- tr>
- <tr>
- <td>邮箱td>
- <td>
- <input type="text" name="email" th:value="${employee.email}">
- td>
- tr>
- <tr>
- <th colspan="2">
- <input type="submit" value="修改">
-
- <input type="reset" value="重置">
- th>
- tr>
- table>
- form>
- body>
- html>
- @GetMapping("/employee/{id}")
- public String toUpdate(@RequestHeader("Referer") String referer, @PathVariable Integer id, Model model) {
- Employee employee = employeeService.getEmployeeById(id);
- model.addAttribute("employee", employee);
- this.referer = referer;
- return "employee_update";
- }
-
- @PutMapping("/employee")
- public String UpdateEmployee(Employee employee) {
- employeeService.updateEmployee(employee);
- return "redirect:" + referer;
- }
EmployeeService 接口:
- /**
- * 根据 id 查询员工信息
- * @param id
- */
- Employee getEmployeeById(Integer id);
-
- /**
- * 修改用户信息
- * @param employee
- */
- void updateEmployee(Employee employee);
EmployeeServiceImpl 实现类:
- @Override
- public Employee getEmployeeById(Integer id) {
- return employeeMapper.selectEmployeeById(id);
- }
-
- @Override
- public void updateEmployee(Employee employee) {
- employeeMapper.updateEmployee(employee);
- }
EmployeeMapper 接口:
- /**
- * 根据 id 查询员工信息
- * @param id
- */
- Employee selectEmployeeById(Integer id);
-
- /**
- * 修改用户信息
- * @param employee
- */
- void updateEmployee(Employee employee);
EmployeeMapper.xml 配置文件:
-
- <select id="selectEmployeeById" resultType="employee">
- select *
- from t_emp
- where emp_id = #{id}
- select>
-
-
- <update id="updateEmployee">
- update t_emp
- set emp_name = #{empName},
- age = #{age},
- sex = #{sex},
- email = #{email}
- where emp_id = #{empId}
- update>