springmvc第一次课(基本配置)+mybatis与springmvc结合增删改查

一.springmvc第一次课(基本配置)

<!--springmvc所需要的依赖-->

 <!--springmvc的核心依赖 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.1.5.RELEASE</version>
        </dependency>

        <!--servlet依赖-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
<!--创建一个springmvc配置文件springmvc.xml-->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">


    <!--配置springmvc的注解扫描-->
    <context:component-scan base-package="com.sw.controller"></context:component-scan>

    <!--配置springmvc的视图解析器-->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <!--配置视图解析的前缀-->
            <property name="prefix" value="/"></property>
            <!--配置视图解析的后缀-->
            <property name="suffix" value=".jsp"></property>
        </bean>
</beans>
<!--在web.xml文件当中进行配置-->
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <!--配置springMvc的核心Servlet-->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <!--DispatcherServlet 负责springMvc框架中接收到的请求的任务指派-->
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--创建Servlet的同时加载springmvc的配置文件-->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springmvc.xml</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>*.action</url-pattern>
  </servlet-mapping>
</web-app>
<!--最后再创建一个controller类进行测试-->
package com.sw.controller;

import com.sw.model.Users;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;

@Controller
public class TestController {//创建springMvc的控制器 处理web请求 类似struts2中的Action
    //测试方法 RequestMapping:请求映射 提供该方法的外部请求路径
    @RequestMapping("/test")
    public String test(){//处理不同请求的方法 类似struts2中的Action中的方法
        System.out.println("请求ok");

        return "success";//通过success跳转到success.jsp
    }


    //添加的方法
    @RequestMapping("add")
    public String add(String uname,String upwd){
        System.out.println(uname+"\t"+upwd);
        System.out.println("添加请求ok");
        return null;
    }

    //实体类收集数据的方式
    @RequestMapping("addUsers")
    public String addUsers(Users users){
        System.out.println(users);
        return null;
    }

    //将数据发送给视图显示
    @RequestMapping("show")
    public String show(HttpServletRequest request){//获取请求作用域
        request.setAttribute("users",new Users("admin","123"));

        return "success";
    }


}

如果能够进入则表示配置成功
实体类model

package com.hlp.model;

public class Student {
    private Integer sid;
    private String sname;
    private String sex;
    private Integer age;

    public void setSname(String sname) {
        this.sname = sname;
    }

    public Integer getSid() {
        return sid;
    }

    public void setSid(Integer sid) {
        this.sid = sid;
    }

    public String getSname() {
        return sname;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getSex() {
        return sex;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getAge() {
        return age;
    }

    public Student(String sname, String sex, Integer age) {
        this.sname = sname;
        this.sex = sex;
        this.age = age;
    }

    public Student() {
    }

    @Override
    public String toString() {
        return "Student{" +
                "sid=" + sid +
                ", sname='" + sname + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
                '}';
    }
}

mapper

package com.hlp.mapper;

import com.hlp.model.Student;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface StudentMapper {
//查询所有
    @Select("select * from student")
    public List<Student> selectAllStudent();
    //添加
    @Insert("insert into student values(null,#{sname},#{sex},#{age})")
    public void addStudent(Student student);
    //根据id查询
    @Select("select * from student where sid=#{sid}")
    public Student selectStudentById(int sid);
    //删除
    @Delete("delete from student where sid=#{sid}")
    public void deleteStudent(Student student);
    //修改
    @Update("update student set sname=#{sname},sex=#{sex},age=#{age} where sid=#{sid}")
    public void updateStudent(Student student);
}

controller

package com.hlp.controller;

import com.hlp.mapper.StudentMapper;
import com.hlp.model.Student;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.omg.PortableInterceptor.SUCCESSFUL;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

@Controller
public class TestController {//相当于struts当中的action
   private SqlSession session;
    @RequestMapping("/test")
    public String test(){
        System.out.println("请求可以了");
        return "success";
    }
    public void before(){
         SqlSessionFactory factory= new SqlSessionFactoryBuilder().build(getClass().getClassLoader().getResourceAsStream("Mybatis-config.xml"));
         session=factory.openSession();
    }
    public void after(){
        session.commit();
        session.close();
    }
    //查询所有
    @RequestMapping("/selectAllStudent")
    public String selectAllStudent(HttpServletRequest request){
        before();
        StudentMapper mapper=session.getMapper(StudentMapper.class);
        List<Student> list=mapper.selectAllStudent();
        request.setAttribute("list",list);
        after();
        return "index";
    }
    //添加
    @RequestMapping("addStudent")
    public String addStudent(Student student){
        before();
        StudentMapper mapper=session.getMapper(StudentMapper.class);
        mapper.addStudent(student);
        System.out.println(student);
        after();
        return "redirect:/selectAllStudent.action";
    }
    //删除
    @RequestMapping("deleteStudent")
    public String deletStudent(Student student){
        before();
        StudentMapper mapper=session.getMapper(StudentMapper.class);
        mapper.deleteStudent(student);
        after();
        return "redirect:/selectAllStudent.action";
    }
    //根据id查询
    @RequestMapping("selectStudentById")
    public String selectStudentById(int sid,HttpServletRequest request){
        before();
        StudentMapper mapper=session.getMapper(StudentMapper.class);
       Student student= mapper.selectStudentById(sid);
       request.setAttribute("student",student);
        after();
        return "update";
    }
    //修改
    @RequestMapping("updateStudent")
    public String updateStudent(Student student){
        before();
        StudentMapper mapper=session.getMapper(StudentMapper.class);
        mapper.updateStudent(student);
        after();
        return "redirect:/selectAllStudent.action";
    }




}

//页面中的内容自行(我是用的是jstl获取数据的)

//jstl依赖两个缺一不可
   <!--jstl表达式-->
    <!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl -->
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/taglibs/standard -->
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值