SSM整合学习笔记

SSM整合的步骤:

1.新建数据库,新建表

新建ssmuser数据库,新建user表

SSM整合学习笔记_第1张图片

 SSM整合学习笔记_第2张图片

2.新建Maven项目,选择webapp模板

3.添加缺少目录,test,javar,resources等

SSM整合学习笔记_第3张图片

 4.修改pom.xml文件,添加依赖




  4.0.0

  com.bjpowernode
  springmvc_06_ssm
  1.0
  war

  
  
    
    4.12
    
    5.2.5.RELEASE
    
    3.5.1
    
    1.3.1
    
    1.2.15
    
    5.1.32
    
    1.6.4
    
    1.1.12
    
    5.1.2
    
    1.2
    
    3.0.1
    
    2.0
    
    2.9.6
  

  
    
    
    org.springframework
      spring-context
      ${spring.version}
    
    
      org.springframework
      spring-beans
      ${spring.version}
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    
    
    
      org.springframework
      spring-aspects
      ${spring.version}
    
    
    
      org.springframework
      spring-jms
      ${spring.version}
    
    
    
      org.springframework
      spring-context-support
      ${spring.version}
    
    
    
      org.springframework
      spring-test
      5.2.5.RELEASE
    
    
    
      org.mybatis
      mybatis
      ${mybatis.version}
    
    
    
      org.mybatis
      mybatis-spring
      ${mybatis.spring.version}
    
    
    
      com.github.miemiedev
      mybatis-paginator
      ${mybatis.paginator.version}
    
    
    
      com.github.pagehelper
      pagehelper
      ${pagehelper.version}
    
    
    
      mysql
      mysql-connector-java
      ${mysql.version}
    
    
    
      com.alibaba
      druid
      ${druid.version}
    
    
    
      junit
      junit
      ${junit.version}
      test
    

    
    
      jstl
      jstl
      ${jstl.version}
    
    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    
    
      javax.servlet
      jsp-api
      ${jsp-api.version}
    

    
    
      com.fasterxml.jackson.core
      jackson-databind
      ${jackson.version}
    

    
    
  
  
  
    
      
      
        org.apache.maven.plugins
        maven-compiler-plugin
        
          1.8
          1.8
          UTF-8
        
      
    
    
    
      
        src/main/java
        
          **/*.properties
          **/*.xml
        
        false
      
      
        src/main/resources
        
          **/*.properties
          **/*.xml
        
        false
      
    
  

























5.添加jdbc.properties属性文件

SSM整合学习笔记_第4张图片

 6.在resources目录中添加SqlMapConfig.xml文件

SSM整合学习笔记_第5张图片

 7.在resources添加applicationContext_mapper.xml文件(数据访问层的核心配置文件)




    
    
    
    
        
        
        
        

    
    
    
        
        
        
        
        
        
    
    
    
        
    

8.在resources目录中添加applicationContext_service.xml文件(业务逻辑层的核心配置文件)




    
    
    
    
        
        
    
    
    
        
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
        
    
    
    
        
        
    


9.在resources目录中添加springmvc.xml文件




    
    
    
    
    

10.删除web.xml文件,因为版本太低,然后新建web,设置中文编码,并注册springmvc框架



    
    
        encode
        org.springframework.web.filter.CharacterEncodingFilter
        
        
            encoding
            UTF-8
        
        
            forceRequestEncoding
            true
        
        
            forceResponseEncoding
            true
        
    
    
        encode
        /*
    
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:springmvc.xml
        
    
    
        springmvc
        /
    
    
    
        org.springframework.web.context.ContextLoaderListener
    
    
    
        contextConfigLocation
        classpath:applicationContext_*.xml
    

11.新建User实体类

在pojo目录下新建user实体类

package com.bjpowernode.pojo;

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;
    }
}

12.在mapper目录下新建UserMapper.java接口

package com.bjpowernode.mapper;

import com.bjpowernode.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper {
    List selectUserPage(
            @Param("userName")
            String userName,
            @Param("userSex")
            String userSex,
            @Param("startRow")//算好的起始行
            int startRow);
    //增加
    int insert(User user);
    //根据用户id删除
    int delete(String userId);
    //获取表中所有数据来显示页数,有添加查询,或无条件
    int getRowCount(@Param("userName") String userName,@Param("userSex") String userSex);
    //修改用户
    int updateUserById(User user);
}

13.在mapper目录下新建UserMapper.xml实现增删改查所有功能




   
    
        
        
        
        
        
        
        
    
    
    
       user_id,card_type,card_no,user_name,user_sex,user_age,user_role
    

    
    
    
    
    
    
    
    
    
    
    
        insert into user value (#{userId},#{cardType},#{cardNo},#{userName},#{userSex},#{userAge},#{userRole})
    

    
    
    
    
        delete from user where user_id = #{userId}
    
    
    
    
    
    
    
        update user set card_type=#{cardType},card_no=#{cardNo},user_name=#{userName},
        user_sex=#{userSex},user_age=#{userAge},user_role=#{userRole} where user_id=#{userId}
    










14.新建service接口和实现类

在service目录下创建UserService接口

package com.bjpowernode.service;

import com.bjpowernode.pojo.User;

import java.util.List;

/**
 * 业务逻辑层
 */
public interface UserService {
    //    查询
    List selectUserPage(String userName,String userSex,int startRow);
    //   添加
    int createUser(User user);
    //   删除
    int deleteUserById(String userId);
    //   计算表数据总行数
    int getRowCount(String userName,String userSex);
    //修改用户
    int updateUserById(User user);
}

在service-->impl目录下新建UserService的实现类

package com.bjpowernode.service.impl;

import com.bjpowernode.mapper.UserMapper;
import com.bjpowernode.pojo.User;
import com.bjpowernode.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 业务逻辑层
 */
@Service
public class UserServiceImpl implements UserService {
    //    切记切记: 一定要有数据访问层的对象
    @Autowired
    UserMapper userMapper;

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

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

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

    @Override
    public int getRowCount(String userName, String userSex) {
        return userMapper.getRowCount(userName,userSex);
    }

    @Override
    public int updateUserById(User user) {

        return userMapper.updateUserById(user);
    }
}

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

在Test-->java目录下新建MyTest测试类

package test;


import com.bjpowernode.pojo.User;
import com.bjpowernode.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;

@RunWith(SpringJUnit4ClassRunner.class)//相当于启动spring的容器
@ContextConfiguration(locations = {"classpath:applicationContext_mapper.xml","classpath:applicationContext_service.xml"})
public class MyTest {
    @Autowired
    UserService userService;

    @Test
    public void testselectUserPage(){
        List userList = userService.selectUserPage(null,"男",0);
        userList.forEach(user -> System.out.println(user));
    }
    @Test
    public void testdeleteUser(){
       int num = userService.deleteUserById("11111");
        System.out.println("=========>"+num);
    }
    @Test
    public void testinterUser(){
        User u = new User("111116","酒神证","666666","东北酒王","男","45","职业酒蒙子");
        int num = userService.createUser(u);
        System.out.println("=========>"+num);
    }
    @Test
    public void testgetRowCount(){

        int num = userService.getRowCount("张良","男");
        System.out.println("=========>"+num);
    }
    @Test
    public void updateuserTest(){
        User u = new User("1651743627430","哈哈","hh","jj","kk","ll","hh");
       int num = userService.updateUserById(u);
        System.out.println(num);
    }

}

16.新建控制器,完成所有功能

在controller目录下新建UserController控制器类

package com.bjpowernode.controller;

import com.bjpowernode.pojo.User;
import com.bjpowernode.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
@CrossOrigin //在服务器端支持跨域请求
@RestController //如果类中方法全是ajax请求就用此注解,方法上的@ResponsBody可以不写
@RequestMapping("/user")
public class UserContorller {
    @Autowired
    UserService userService;

    public static final int PAGE_SIZE = 5;

    @RequestMapping("/selectUserPage")
    public List 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("/getRowCount")
    public int getRowCount(String userName,String userSex){
    return userService.getRowCount(userName,userSex);
    }
    //根据用户id删除用户
    @RequestMapping("/deleteUserById")
    public int deleteUserById(String userId){
    return userService.deleteUserById(userId);
    }
    //添加用户
    @RequestMapping("/createUser")
    public int createUser(User user){
        //提供一个用户id值
        String userId = System.currentTimeMillis()+"";
        user.setUserId(userId);
        return userService.createUser(user);
    }
    //修改用户
    @RequestMapping("/updateUserById")
    public int updateUserById(User user){
        return userService.updateUserById(user);
    }

}

17.浏览器测试功能

你可能感兴趣的:(学习,java,xml)