搭建SSM框架的配置文件

pom.xml所需要的基本依赖和插件:

<dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.0</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.5</version>
        </dependency>
        <!--逆向生成带分页的插件-->
        <dependency>
            <groupId>com.itfsw</groupId>
            <artifactId>mybatis-generator-plugin</artifactId>
            <version>1.0.5</version>
        </dependency>
        <!--2.Spring-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <!--3.SpringMvc-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <!--import org.junit.Test  @Test-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
        <!--4.c3p0-->
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>
        <!--pojo转换成 json -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.7.3</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.7.3</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.7.3</version>
        </dependency>

        <!--servlet 2.5 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <!--此处的servlet仅在编译和测试的时候使用,运行的时候不使用,使用的是tomcat中的servlet-->
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency>

插件:这里Tomcat做测试用,注意Tomcat中的servlet与依赖中的servlet的冲突,可以配置依赖servlet的scope,<scope>provided</scope>

         插件中的 <pluginManagement>是插件管理,如果要运行Tomcat,需要注释掉这个插件管理

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <path>/</path>
        <port>8080</port>
        <uriEncoding>UTF-8</uriEncoding>
    </configuration>
</plugin>

配置web.xml:

<dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.0</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.5</version>
        </dependency>
        <!--逆向生成带分页的插件-->
        <dependency>
            <groupId>com.itfsw</groupId>
            <artifactId>mybatis-generator-plugin</artifactId>
            <version>1.0.5</version>
        </dependency>
        <!--2.Spring-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <!--3.SpringMvc-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <!--import org.junit.Test  @Test-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
        <!--4.c3p0-->
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>
        <!--pojo转换成 json -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.7.3</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.7.3</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.7.3</version>
        </dependency>

        <!--servlet 2.5 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <!--此处的servlet仅在编译和测试的时候使用,运行的时候不使用,使用的是tomcat中的servlet-->
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency>

插件:这里Tomcat做测试用,注意Tomcat中的servlet与依赖中的servlet的冲突,可以配置依赖servlet的scope,<scope>provided</scope>

         插件中的 <pluginManagement>是插件管理,如果要运行Tomcat,需要注释掉这个插件管理

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <path>/</path>
        <port>8080</port>
        <uriEncoding>UTF-8</uriEncoding>
    </configuration>
</plugin>

配置springmvc的核心配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
         http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context.xsd">

<!--web.xml优先加载mvc(servlet层),在mvc核心配置文件中:启动注解:mvc特有的注解,开启mvc注解驱动,拼接jsp路径-->

    <!--1、手动开启controller层类特有的注解,利用包扫描的方式-->
    <context:component-scan base-package="com.controller"/>

    <!--2、开启SpringMVC特有的注解,包括方法和属性的注解-->
    <!--annotation-driven注释驱动-->
    <!--2-1、设置响应编码:string、json-->
    <mvc:annotation-driven>
        <!--2-1、converters转换器-->
        <mvc:message-converters>
            <!--string的http信息转换器:这里的源码编码格式为Charset.forName("ISO-8859-1"),覆盖它-->
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
            <!--为bean的有参构造设置编码-->
            <constructor-arg value="UTF-8"></constructor-arg>
            </bean>
            <!--这里的MappingJackson2HttpMessageConverter源码中父类的编码格式为utf-8,不用在设置有参构造的编码-->
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
        </mvc:message-converters>
    </mvc:annotation-driven>

    <!--3、mvc默认的处理器:在web.xml中,配置mvc拦截servlet请求,并不能拦截jsp请求,如果拦截了静态资源的请求,就转交默认servlet
    处理,如果不是静态请求,就转交dispatcherservlet核心servlet处理
    -->
    <mvc:default-servlet-handler></mvc:default-servlet-handler>

    <!--4、视图解析器,在controller中进行页面跳转的时候没有请求和响应,只能通过return来返回一个字符换,他的文件前后缀名就在这里拼接好-->
    <!--内部的资源视图解析器:就是web-INF下的资源-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--前缀-->
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <!--后缀-->
        <property name="suffix" value=".jsp"></property>
    </bean>



</beans>

配置spring核心配置文件:appliacationContext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd
          http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context.xsd
         http://www.springframework.org/schema/aop
         http://www.springframework.org/schema/aop/spring-aop.xsd">
    <!--controller层有mvc来托管,dao由mybatis托管,剩下service层,spring除了托管service层还要托管mybatis的部分代码-->

    <!--1、开启service层的注解:这里通过包扫描的方式-->
    <context:component-scan base-package="com.service"/>

    <!--托管部分mybatis的代码-->
    <!--2、加载db.properties -->
    <context:property-placeholder location="classpath:properties/db.properties"/>

    <!--3、数据源:这里通过c3p0连接数据池-->
    <bean id="ds" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>

    <!--4、开启事务管理:需要jdbc依赖-->
    <bean id="tx" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!--关联数据源-->
        <property name="dataSource" ref="ds"></property>
    </bean>

    <!--5、开启事物的注解:@Transactional-->
    <tx:annotation-driven transaction-manager="tx"/>

    <!--6、spring去托管mybatis部分代码-->
    <bean id="fb" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--加载数据源,关联数据源-->
        <property name="dataSource" ref="ds"></property>
        <!--加载mybatis核心配置文件-->
        <property name="configLocation" value="classpath:mybatis/sqlMapConfig.xml"/>
        <!--利用包扫描的方式加载映射文件-->
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>
    </bean>

    <!--7、上面加载映射文件的时候利用了包扫描,利用包扫描加载映射文件要将映射文件和接口类放在同一个文件夹下。
    这里要做的就是关联接口和映射文件 MapperScannerConfigurer映射扫描配置-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--指定接口路径-->
        <property name="basePackage" value="com.mapper"/>
        <property name="sqlSessionFactoryBeanName" value="fb"/>
    </bean>

</beans>

mybatis核心配置文件:

<?xml version="1.0"   encoding="UTF-8"?>
<!DOCTYPE configuration   PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
   <!--spring托管了mybatis部分代码后,这里只需要配置预置输出和别名-->
   <!--1、预制输出-->
    <settings>
        <!-- 可以在控制台输出日志信息:sql语句和参数 -->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

    <!-- 2.表示类型别名   -->
    <typeAliases>
        <!-- 2.1每一个类型的别名  type属性表示别名对应的类型地址 alias表示起的别名-->
        <typeAlias type="java.util.List" alias="list"/>
        <!--<typeAlias type="com.kgc.pojo.Emp" alias="emp"/>-->
        <!-- package表示包,利用包的形式进行扫描包之下的所有的类,别名就是当前类名 -->
        <package name="com.pojo"/>
    </typeAliases>

</configuration>   

db.properties:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/kgc1?zeroDateTimeBehavior=convertToNull
jdbc.username=root
jdbc.password=123456

mbg逆向生成配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<!-- 生成配置文件 -->
<generatorConfiguration>
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <!--&lt;!&ndash;分页插件&ndash;&gt;-->
        <plugin type="com.itfsw.mybatis.generator.plugins.LimitPlugin"/>
        <commentGenerator>
            <!-- 是否去除注释,true表示是,false-->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!-- 1.连接数据库信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/kgc1?characterEncoding=UTF-8"
                        userId="root"
                        password="123456">
        </jdbcConnection>
        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 
            NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- 2.pojo类的生成配置  targetPackage表示目标文件夹
      targetProject表示当前目标文件夹所放置的目标地址
    -->
        <javaModelGenerator targetPackage="com.pojo" targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- 3.sql映射文件生成配置 -->
        <sqlMapGenerator targetPackage="mapper" targetProject=".\src\main\resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!-- 4.mapper接口配置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.mapper" targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!-- 5.数据库表和实体类映射 -->
        <table tableName="emp" domainObjectName="Emp">
        </table>
        <table tableName="dept" domainObjectName="Dept">
        </table>
    </context>
</generatorConfiguration>

MbgTest逆向生成启动方法:

import org.junit.Test;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class MbgTest {
    @Test
    public void create() throws Exception {
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        File configFile = new File("mbg.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(configFile);
        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
        myBatisGenerator.generate(null);
    }
}

show.jsp:

<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
<%@ taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %>
<%–
Created by IntelliJ IDEA.
User: Administrator
Date: 2019/6/24 0024
Time: 下午 7:25
To change this template use File | Settings | File Templates.
–%>
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

数据展示页面

<%–分页区–%>

首页上一页

("#pageNum").val(page);
KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲myForm").submit…("#go").val();
goPage(page)
}

add.jsp:

<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
<%–
Created by IntelliJ IDEA.
User: Administrator
Date: 2019/6/25 0025
Time: 上午 10:35
To change this template use File | Settings | File Templates.
–%>
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

Title 姓名:
年龄:
性别:
生日:
津贴:
工资:
部门:

{dept.did}">${dept.dname}
</c:forEach>


update.jsp:

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
<%@taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %>

Title
<input type="hidden" name="id" value="emp.id">姓名:<inputtype="text"name="name"value="

{emp.name}"/>

年龄:
性别:<inputtype=“text"name=“sex"value=”{emp.sex}”/>

生日:
津贴:<inputtype=“text"name=“bonus"value=”{emp.bonus}”/>

工资:
部门:<selectname=“deptid”><c:forEachvar=“dept"items=”{depts}">
<option value=“dept.did”<c:iftest="

{dept.did==emp.deptid}" >selected=‘true’</c:if> >
${dept.dname}

</c:forEach>


service层:

import com.mapper.DeptMapper;
import com.mapper.EmpMapper;
import com.pojo.Dept;
import com.pojo.Emp;
import com.pojo.EmpExample;
import com.pojo.PageBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public class EmpServiceImpl implements IEmpService {

@Autowired
private DeptMapper deptMapper;
@Autowired
private EmpMapper empMapper;


@Override
public List<Dept> selectDept() {
    return null;
}

@Override//分页查询所有员工
public List<Emp> selectAll(PageBean page) {
    //1.条件 name  startBirth  endBirth  deptId
    EmpExample e = new EmpExample();
    //条件拼接
    EmpExample.Criteria c = e.createCriteria();

    if(page.getName()!=null){
        c.andNameLike("%"+page.getName()+"%");
    }
    if(page.getStartbirth()!=null){
        c.andBirthGreaterThanOrEqualTo(page.getStartbirth());
    }
    if(page.getEndBirth()!=null){
        c.andBirthLessThanOrEqualTo(page.getEndBirth());
    }
    if(page.getDeptid()!=null&&page.getDeptid()!=0){
        c.andDeptidEqualTo(page.getDeptid());
    }

    //分页
    //查询总记录数
    int count = (int) empMapper.countByExample(e);
    int size = page.getSize();
    int totalPage=(count%size==0)?(count/size):(count/size+1);

    page.setCount(count);
    page.setTotalPage(totalPage);
    int startRow=(page.getCurrPage()-1)*size;

    e.limit(startRow,size);
    List<Emp> list = empMapper.selectByExample(e);

    for(Emp emp:list){
        Dept dept = deptMapper.selectByPrimaryKey(emp.getDeptid());
        emp.setDept(dept);
    }

    return  list;
}

@Override//查询所有的部门
public List<Dept> selectDepts() {
    return deptMapper.selectByExample(null);
}

@Override
public int deleteById(int id) {
    return empMapper.deleteByPrimaryKey(id);
}

@Override
public int addEmp(Emp emp) {
    return empMapper.insertSelective(emp);
}

@Override
public Emp selectById(int id) {
    return empMapper.selectByPrimaryKey(id);
}

@Override
public int updateEmp(Emp emp) {
    return empMapper.updateByPrimaryKeySelective(emp);
}

}

pagebean:

public class PageBean {
//分页四大参数
private Integer currPage=1;
private Integer size=3;
private Integer count;
private Integer totalPage;

//搜索框查询条件

private Integer deptid;
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
private Date Startbirth;
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
private Date EndBirth;
private String name;

controller:

import com.pojo.Dept;
import com.pojo.Emp;
import com.pojo.PageBean;
import com.service.IEmpService;
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.servlet.ModelAndView;

import java.util.List;

@Controller
@RequestMapping("/emp")
public class EmpController {
@Autowired
private IEmpService service;

//新增页面跳转
@RequestMapping("/add1")
public String add1(Model m){
    //查询所有的部门--中下拉框展示所有的部门
    List<Dept> depts=service.selectDepts();
    m.addAttribute("depts",depts);
    return "add";
}
//实现新增
@RequestMapping("/add2")
public String add2(Emp emp){
    int i=service.addEmp(emp);
    return "redirect:/emp/show";//去show方法 重查
}

//1.查询单条 2.页面跳转
@RequestMapping("/update1/{id}")
public String update1(@PathVariable String id, Model m){
    Emp e=service.selectById(Integer.parseInt(id));
    m.addAttribute("emp",e);

    //查询所有的部门--中下拉框展示所有的部门
    List<Dept> depts=service.selectDepts();
    m.addAttribute("depts",depts);

    return "update";//转发到update.jsp
}
//执行修改
@RequestMapping("/update2")
public String update2(Emp emp){
    int i=service.updateEmp(emp);
    return "redirect:/emp/show";//去show方法 重查
}

@RequestMapping("/deleteById/{id}")
public String deleteById(@PathVariable  String id){
    int i=service.deleteById(Integer.parseInt(id));
    //删除后重查数据库
    return "redirect:/emp/show";//去show方法 重查
}

//取调存转
@RequestMapping("/show")
public ModelAndView show(PageBean page, ModelAndView mvc){
//查询所有部门下拉框展示
    List<Dept> depts=service.selectDept();

//模糊分页查询
    List<Emp> list=service.selectAll(page);

//存
mvc.addObject("depts",depts);
mvc.addObject("list",list);
mvc.addObject("page",page);

//转-页面跳转
    mvc.setViewName("show");
    return mvc;
}

}

本人因为工作繁忙,每周都会抽一次时间,把自己在项目中使用的技术更加分享,志同道合的朋友可以加我扣扣,863967089,备注博客。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值