0%

SSM整合

  • SSM整合
    • SSM整合步骤
    • 跨域

四、SSM整合

4.1 SSM整合步骤

  • SSM整合的步骤:

    1. 建库,建表:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      SET NAMES utf8mb4;
      SET FOREIGN_KEY_CHECKS = 0;

      CREATE DATABASE IF NOT EXISTS `ssmuser` DEFAULT CHARACTER SET utf8;
      USE `ssmuser`;

      -- ----------------------------
      -- Table structure for user
      -- ----------------------------
      DROP TABLE IF EXISTS `user`;
      CREATE TABLE `user` (
      `user_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',
      `card_type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `card_no` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `user_sex` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `user_age` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `user_role` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      PRIMARY KEY (`user_id`) USING BTREE
      ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;

      -- ----------------------------
      -- Records of user
      -- ----------------------------
      INSERT INTO `user` VALUES ('15968162087363060', '身份证', '114264195202156467', '张三', '男', '30', '办事人员和有关人员');
      INSERT INTO `user` VALUES ('15968162346981977', '护照', 'A32532654', '李四', '男', '29', '不便分类的其他从业人员');
      INSERT INTO `user` VALUES ('15968162893439470', '身份证', '112344198709094532', '王五', '男', '31', '农、林、牧、渔、水利业生产人员');
      INSERT INTO `user` VALUES ('15968163245457143', '身份证', '453234199909094532', '赵六', '男', '34', '未知');
      INSERT INTO `user` VALUES ('15968163514764733', '军官证', '军7657868', '钱七', '女', '23', '不便分类的其他从业人员');
      INSERT INTO `user` VALUES ('15968165113694372', '台湾往来大陆通行证', '43256786', '周八', '女', '48', '生产、运输设备操作人员及有关人员');
      INSERT INTO `user` VALUES ('15968165371931786', '港澳居民通行证', 'C98767665', '吴九', '女', '35', '不便分类的其他从业人员');
      INSERT INTO `user` VALUES ('15968941217553030', '身份证', '343546199801018768', '郑十', '男', '22', '军人');
      INSERT INTO `user` VALUES ('15968943937844616', '身份证', '445453199603025756', '冯十一', '女', '31', '不便分类的其他从业人员');
      INSERT INTO `user` VALUES ('15968944123869023', '护照', 'B54322654', '陈十二', '女', '39', '农、林、牧、渔、水利业生产人员');
      INSERT INTO `user` VALUES ('15968953962316864', '身份证', '110232199505056789', '朱十三', '女', '33', '商业、服务业人员');
      INSERT INTO `user` VALUES ('15968954638794962', '身份证', '110654196604079098', '孔十四', '女', '29', '生产、运输设备操作人员及有关人员');

      SET FOREIGN_KEY_CHECKS = 1;
    2. 创建模块 SpringMVC-007-ssm,使用 webapp 模板:

      ![](../../../../../Running Noob/计算机/Typora笔记/笔记-git仓库/Java-SSM-notebook/img/SpringMVC/springmvc-007-ssm-1.png)

    3. 修改 pom.xml 文件,添加相关依赖:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      93
      94
      95
      96
      97
      98
      99
      100
      101
      102
      103
      104
      105
      106
      107
      108
      109
      110
      111
      112
      113
      114
      115
      116
      117
      118
      119
      120
      121
      122
      123
      124
      125
      126
      127
      <?xml version="1.0" encoding="UTF-8"?>

      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>

      <groupId>com.f</groupId>
      <artifactId>SpringMVC-007-ssm</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>war</packaging>

      <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <maven.compiler.source>17</maven.compiler.source>
      <maven.compiler.target>17</maven.compiler.target>
      <!--集中定义版本编号-->
      <spring.version>6.0.8</spring.version>
      </properties>

      <dependencies>
      <!--spring相关依赖-->
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>${spring.version}</version>
      </dependency>
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
      </dependency>
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
      </dependency>
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jms</artifactId>
      <version>${spring.version}</version>
      </dependency>
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.version}</version>
      </dependency>
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${spring.version}</version>
      </dependency>
      <!--servlet依赖-->
      <dependency>
      <groupId>jakarta.servlet</groupId>
      <artifactId>jakarta.servlet-api</artifactId>
      <version>6.0.0</version>
      <scope>provided</scope>
      </dependency>
      <!--mysql依赖-->
      <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.30</version>
      </dependency>
      <!--myabtis相关依赖-->
      <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.10</version>
      </dependency>
      <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>3.0.3</version>
      </dependency>
      <!--druid依赖-->
      <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.2.20</version>
      </dependency>
      <!--junit依赖-->
      <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13.2</version>
      <scope>test</scope>
      </dependency>
      <!--json依赖-->
      <dependency>
      <groupId>org.json</groupId>
      <artifactId>json</artifactId>
      <version>20140107</version>
      </dependency>
      <!--json处理工具包-->
      <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.6</version>
      </dependency>
      <!--fastjson-->
      <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.28</version>
      </dependency>
      </dependencies>

      <build>
      <resources>
      <resource>
      <directory>src/main/java</directory>
      <includes>
      <include>**/*.xml</include>
      <include>**/*.properties</include>
      </includes>
      </resource>
      <resource>
      <directory>src/main/resources</directory>
      <includes>
      <include>**/*.xml</include>
      <include>**/*.properties</include>
      </includes>
      </resource>
      </resources>
      </build>
      </project>
    4. 添加 jdbc.properties 属性配置文件:

      1
      2
      3
      4
      jdbc.driver=com.mysql.cj.jdbc.Driver
      jdbc.url=jdbc:mysql://localhost:3306/ssmuser?useSSL=false
      jdbc.username=root
      jdbc.password=root
    5. 添加 mybatis-config.xml 配置文件:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      <?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>
      <settings>
      <!--帮助我们打印mybatis的日志信息、sql语句等-->
      <setting name="logImpl" value="STDOUT_LOGGING"/>
      </settings>
      </configuration>
    6. 添加 spring.xml 配置文件:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      <?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: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/context http://www.springframework.org/schema/context/spring-context.xsd
      http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
      <!--组件扫描-->
      <context:component-scan base-package="com.f.springmvc"/>
      <!--引入外部属性配置文件-->
      <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>
      <!--配置SqlSessionFactoryBean-->
      <bean class="org.mybatis.spring.SqlSessionFactoryBean">
      <!--注入数据源-->
      <property name="dataSource" ref="dataSource"/>
      <!--指定mybatis核心配置文件-->
      <property name="configLocation" value="classpath:mybatis-config.xml"/>
      <!--指定别名包-->
      <property name="typeAliasesPackage" value="com.f.springmvc.pojo"/>
      </bean>
      <!--配置Mapper扫描配置器,主要扫描Mapper接口,生成代理类-->
      <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
      <property name="basePackage" value="com.f.springmvc.mapper"/>
      </bean>
      <!--配置事务管理器-->
      <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
      <property name="dataSource" ref="dataSource"/>
      </bean>
      <!--启用事务注解-->
      <tx:annotation-driven transaction-manager="txManager"/>
      </beans>
    7. 添加 springmvc.xml 配置文件:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      <?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:mvc="http://www.springframework.org/schema/mvc"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
      http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd
      http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
      <!--添加包扫描-->
      <context:component-scan base-package="com.f.springmvc.controller"/>
      <!--启用注解驱动-->
      <mvc:annotation-driven/>
      </beans>
    8. 修改 web.xml 配置文件,注册 SpringMVC 框架和 Spring 框架

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
      version="6.0">
      <!--注册SpringMVC框架-->
      <servlet>
      <servlet-name>springmvc</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <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>/</url-pattern>
      </servlet-mapping>
      <!--注册Spring框架,目的是启动Spring容器-->
      <!--用监听器启动-->
      <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring.xml</param-value>
      </context-param>
      </web-app>
    9. 新建实体类 User

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      93
      94
      95
      96
      97
      package com.f.springmvc.pojo;

      /**
      * @author fzy
      * @date 2024/2/20 16:51
      */
      public class User {
      private String userId;
      private String cardType;
      private String cardNo;
      private String userName;
      private String userSex;
      private String userAge;
      private String userRole;

      public User() {
      }

      public User(String userId, String cardType, String cardNo, String userName, String userSex, String userAge, String userRole) {
      this.userId = userId;
      this.cardType = cardType;
      this.cardNo = cardNo;
      this.userName = userName;
      this.userSex = userSex;
      this.userAge = userAge;
      this.userRole = userRole;
      }

      @Override
      public String toString() {
      return "User{" +
      "userId='" + userId + '\'' +
      ", cardType='" + cardType + '\'' +
      ", cardNo='" + cardNo + '\'' +
      ", userName='" + userName + '\'' +
      ", userSex='" + userSex + '\'' +
      ", userAge='" + userAge + '\'' +
      ", userRole='" + userRole + '\'' +
      '}';
      }

      public String getUserId() {
      return userId;
      }

      public void setUserId(String userId) {
      this.userId = userId;
      }

      public String getCardType() {
      return cardType;
      }

      public void setCardType(String cardType) {
      this.cardType = cardType;
      }

      public String getCardNo() {
      return cardNo;
      }

      public void setCardNo(String cardNo) {
      this.cardNo = cardNo;
      }

      public String getUserName() {
      return userName;
      }

      public void setUserName(String userName) {
      this.userName = userName;
      }

      public String getUserSex() {
      return userSex;
      }

      public void setUserSex(String userSex) {
      this.userSex = userSex;
      }

      public String getUserAge() {
      return userAge;
      }

      public void setUserAge(String userAge) {
      this.userAge = userAge;
      }

      public String getUserRole() {
      return userRole;
      }

      public void setUserRole(String userRole) {
      this.userRole = userRole;
      }
      }
    10. 新建 UserMapper 接口:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      package com.f.springmvc.mapper;

      import com.f.springmvc.pojo.User;
      import org.apache.ibatis.annotations.Param;

      import java.util.List;

      /**
      * @author fzy
      * @date 2024/2/20 17:00
      */
      public interface UserMapper {
      /**
      * 查询用户
      */
      List<User> selectUserPage(
      @Param("userName")
      String userName,
      @Param("userSex")
      String userSex,
      @Param("startRow")
      int startRow
      );

      /**
      * 新增用户
      */
      int createUser(User user);

      /**
      * 删除用户
      */
      int deleteUserById(String userId);

      /**
      * 获取总行数
      */
      int getRowCount(
      @Param("userName")
      String userName,
      @Param("userSex")
      String userSex
      );
      }
    11. 根据 UserMapper 接口编写 UserMapper.xml 配置文件,编写 SQL 语句:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      <?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.f.springmvc.mapper.UserMapper">
      <sql id="allColumns">
      user_id,
      card_type,
      card_no,
      user_name,
      user_sex,
      user_age,
      user_role
      </sql>
      <select id="selectUserPage" resultType="User">
      SELECT
      <include refid="allColumns"/>
      FROM user
      <where>
      <if test="userName != null and userName != ''">
      AND user_name LIKE concat('%',#{userName},'%')
      </if>
      <if test="userSex != null and userSex != ''">
      AND user_sex = #{userSex}
      </if>
      </where>
      LIMIT #{startRow}, 5
      </select>
      <insert id="createUser">
      INSERT INTO user (<include refid="allColumns"/>)
      VALUES (#{userId}, #{cardType}, #{cardNo}, #{userName}, #{userSex}, #{userAge}, #{userRole})
      </insert>
      <delete id="deleteUserById">
      DELETE FROM user
      <where>
      user_id = #{userId}
      </where>
      </delete>
      <select id="getRowCount" resultType="int">
      SELECT
      COUNT(*)
      FROM user
      <where>
      <if test="userName != null and userName != ''">
      AND user_name LIKE concat('%',#{userName},'%')
      </if>
      <if test="userSex != null and userSex != ''">
      AND user_sex = #{userSex}
      </if>
      </where>
      </select>
      </mapper>
    12. 业务逻辑接口的开发:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      package com.f.springmvc.service;

      import com.f.springmvc.pojo.User;

      import java.util.List;

      /**
      * @author fzy
      * @date 2024/2/20 20:18
      */
      public interface UserService {
      List<User> selectUserPage(String userName, String userSex, int startRow);

      int createUser(User user);

      int deleteUserById(String userId);

      int getRowCount(String userName, String userSex);
      }
    13. 业务逻辑接口实现类的开发:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      package com.f.springmvc.service.impl;

      import com.f.springmvc.mapper.UserMapper;
      import com.f.springmvc.pojo.User;
      import com.f.springmvc.service.UserService;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.stereotype.Service;
      import org.springframework.transaction.annotation.Transactional;

      import java.util.List;

      /**
      * @author fzy
      * @date 2024/2/20 20:21
      */
      @Service
      public class UserServiceImpl implements UserService {
      @Autowired
      private UserMapper userMapper;

      @Override
      public List<User> selectUserPage(String userName, String userSex, int startRow) {
      return userMapper.selectUserPage(userName, userSex, startRow);
      }

      @Override
      @Transactional
      public int createUser(User user) {
      return userMapper.createUser(user);
      }

      @Override
      @Transactional
      public int deleteUserById(String userId) {
      return userMapper.deleteUserById(userId);
      }

      @Override
      public int getRowCount(String userName, String userSex) {
      return userMapper.getRowCount(userName, userSex);
      }
      }
    14. 在对表示层进行开发之前,测试业务逻辑层和数据访问层的功能是否正常,流程是否能正常走通

      新建测试类,完成所有功能的测试:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      package com.f.springmvc.test;

      import com.f.springmvc.pojo.User;
      import com.f.springmvc.service.UserService;
      import org.junit.Test;
      import org.junit.runner.RunWith;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.test.context.ContextConfiguration;
      import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

      import java.util.List;

      /**
      * @author fzy
      * @date 2024/2/20 20:37
      */
      @RunWith(SpringJUnit4ClassRunner.class)
      @ContextConfiguration("classpath:spring.xml")
      public class UserTest {
      @Autowired
      private UserService userService;

      @Test
      public void testSelectUserPage() {
      List<User> users = userService.selectUserPage("十", "女", 0);
      users.forEach(user -> {
      System.out.println(user);
      });
      }

      @Test
      public void testDeleteUserById() {
      int count = userService.deleteUserById("15968954638794962");
      System.out.println("影响记录的条数:" + count);
      }

      @Test
      public void testCreateUser() {
      User user = new User();
      user.setUserId("15968954638794962");
      user.setCardType("身份证");
      user.setCardNo("110654196604079098");
      user.setUserName("孔十四");
      user.setUserSex("女");
      user.setUserAge("29");
      user.setUserRole("生产、运输设备操作人员及有关人员");
      int count = userService.createUser(user);
      System.out.println("影响记录的条数:" + count);
      }

      @Test
      public void testGetRowCount() {
      int rowCount = userService.getRowCount(null, null);
      System.out.println("符合条件的总记录条数为:" + rowCount);
      }
      }
    15. 在测试业务逻辑层和数据访问层的功能正常后,开发表示层。

      开发控制器:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      package com.f.springmvc.controller;

      import com.f.springmvc.pojo.User;
      import com.f.springmvc.service.UserService;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.stereotype.Controller;
      import org.springframework.web.bind.annotation.CrossOrigin;
      import org.springframework.web.bind.annotation.RequestMapping;
      import org.springframework.web.bind.annotation.ResponseBody;

      import java.util.List;

      /**
      * @author fzy
      * @date 2024/2/20 20:56
      */
      @CrossOrigin // 在服务端支持跨域访问
      @Controller
      @RequestMapping("/user")
      public class UserController {
      @Autowired
      private UserService userService;
      public static final int PAGE_SIZE = 5;

      @RequestMapping("/selectUserPage")
      @ResponseBody
      public List<User> selectUserPage(
      String userName,
      String userSex,
      Integer page
      ) {
      // 根据页码计算起始行
      int startRow = 0;
      if (page != null) {
      startRow = (page - 1) * PAGE_SIZE;
      }

      return userService.selectUserPage(userName, userSex, startRow);
      }

      @RequestMapping("/deleteUserById")
      @ResponseBody
      public int deleteUserById(
      String userId
      ) {
      return userService.deleteUserById(userId);
      }

      @RequestMapping("/createUser")
      @ResponseBody
      public int createUser(
      User user
      ) {
      return userService.createUser(user);
      }

      @RequestMapping("/getRowCount")
      @ResponseBody
      public int getRowCount(
      String userName,
      String userSex
      ) {
      return userService.getRowCount(userName, userSex);
      }
      }
    16. 在浏览器上测试功能:

      http://localhost:8080/ssm/user/selectUserPage

      http://localhost:8080/ssm/user/deleteUserById?userId=15968954638794962

      http://localhost:8080/ssm/user/getRowCount

      ……

4.2 跨域

---------------The End---------------