SSM框架整合

1. 搭建整合环境

  1. 整合说明:SSM整合可以使用多种方式,咱们会选择XML + 注解的方式
  2. 整合的思路
    1. 先搭建整合的环境
    2. 先把Spring的配置搭建完成
    3. 再使用Spring整合SpringMVC框架
    4. 最后使用Spring整合MyBatis框架
  3. 创建数据库和表结构
    1. 语句
create table account(
    id int primary key auto_increment,
    name varchar(20),
    money double
);

     4.创建mavenjavaweb工程,引入相关依赖


  
    
    5.0.2.RELEASE
    
    1.6.6
    1.2.12
    
    5.1.6
    
    3.4.5
  

  
  
    
    
      org.aspectj
      aspectjweaver
      1.6.8
    
    
    
      org.springframework
      spring-aop
      ${spring.version}
    
    
    
      org.springframework
      spring-context
      ${spring.version}
    
    
    
      org.springframework
      spring-web
      ${spring.version}
    
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
    
      org.springframework
      spring-test
      ${spring.version}
    
    
    
      org.springframework
      spring-tx
      ${spring.version}
    
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    
    
    
      junit
      junit
      4.12
    
    
    
      mysql
      mysql-connector-java
      ${mysql.version}
    
    
    
      javax.servlet
      servlet-api
      2.5
      provided
    
    
    
      javax.servlet.jsp
      jsp-api
      2.0
      provided
    
    
    
      jstl
      jstl
      1.2
    
    
    
      log4j
      log4j
      ${log4j.version}
    
    
      org.slf4j
      slf4j-api
      ${slf4j.version}
    
    
      org.slf4j
      slf4j-log4j12
      ${slf4j.version}
    
    
    
      org.mybatis
      mybatis
      ${mybatis.version}
    
    
    
      org.mybatis
      mybatis-spring
      1.3.0
    
    
    
      com.alibaba
      druid
      1.1.10
    

  

  
    ssm
    
      
        
          org.apache.maven.plugins
          maven-compiler-plugin
          3.2
          
            1.8
            1.8
            UTF-8
            true
          
        
      
    
  

     5.编写实体类,在ssm_model项目中编写

package com.qcby.model;
import java.io.Serializable;

/**
 * 账户类
 */
public class Account implements Serializable {
    // 主键
    private Integer id;
    // 账户名称
    private String name;
    // 账号的金额
    private Double money;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Double getMoney() {
        return money;
    }

    public void setMoney(Double money) {
        this.money = money;
    }

    @Override
    public String toString() {
        return "Account{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", money=" + money +
                '}';
    }
}

2、Spring框架代码的编写​

1. 搭建和测试Spring的开发环境​

        1. 在ssm_web项目中创建applicationContext.xml的配置文件,编写具体的配置信息。​




    
    
    
    
    
    
        
        
        
        
    
    
    
        
        
        
    
    
    
        
        
        
    

      2、创建service包,编写service接口和实现类

package com.qcby.service;
import com.qcby.model.Account;
import java.util.List;

/**
 * 账户业务层接口
 */
public interface AccountService {
    // 查询所有
    public List findAll();

    //增添账户信息
    public int insert(Account account);

    //修改账户信息
    public int update(Account account);

    //删除账户信息
    public int delete(Integer id);
}
package com.qcby.service.impl;
import com.qcby.mapper.AccountMapper;
import com.qcby.model.Account;
import com.qcby.service.AccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

/**
 * 业务层实现类
 * ssm整合业务层接口
 */
@Service
public class AccountServiceImpl implements AccountService {
    @Autowired
    private AccountMapper accountMapper;

    /**
     * 查询所有账户信息
     * @return
     */
    @Override
    public List findAll() {
        System.out.println("业务层执行了!!!");
        List accountList = accountMapper.findAll();
        return accountList;
    }

    @Override
    public int insert(Account account) {
        System.out.println("新增业务层执行了!!!");
        int i = accountMapper.insert(account);
        return i;
    }

    @Override
    public int update(Account account) {
        System.out.println("修改业务层执行了!!!");
        int i = accountMapper.update(account);
        return i;
    }

    @Override
    public int delete(Integer id) {
        System.out.println("删除业务层执行了!!!");
        int i = accountMapper.delete(id);
        return i;
    }
}

3、Spring整合SpringMVC框架

1. 搭建和测试SpringMVC的开发环境

  1. 配置web.xml文件



  
  
    contextConfigLocation
    classpath:applicationContext.xml
  

  
  
    characterEncodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
    
      encoding
      UTF-8
    
  
  
    characterEncodingFilter
    /*
  
  
  
    org.springframework.web.context.ContextLoaderListener
  
  
  
    dispatcherServlet
    org.springframework.web.servlet.DispatcherServlet
    
    
      contextConfigLocation
      classpath:springmvc.xml
    
  
  
    dispatcherServlet
    /
  

     2.创建springmvc.xml的配置文件,编写配置文件




    
    
    
    
    
    
        
        
    
        
    
    
    

     3.测试SpringMVC的框架搭建是否成功

编写index.jsp,超链接和表单

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    首页


    

查询所有账户信息

查询所有

添加账户信息

姓名:
金额:

修改账户信息

账户id:
姓名:
金额:

删除账户信息

账户id:

res.jsp页面编写,结果返回页面

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


    整合成功



SSM整合成功页面!!!!

${result}
序号 姓名 工资
${account.id} ${account.name}

2. Spring整合SpringMVC的框架

  1. 目的:在controller中能成功的调用service对象中的方法。
  2. 在项目启动的时候,就去加载applicationContext.xml的配置文件,在web.xml中配置ContextLoaderListener监听器(该监听器只能加载WEB-INF目录下的applicationContext.xml的配置文件)。

    
        org.springframework.web.context.ContextLoaderListener
    
    
    
        contextConfigLocation
        classpath:applicationContext.xml
    

     3.编写AccountController,在controller中注入service对象,调用service对象的方法进行测试

package com.qcby.controller;
import com.qcby.model.Account;
import com.qcby.service.AccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;

@Controller
@RequestMapping("/account")
public class AccountController {
    // 注入
    @Autowired
    private AccountService accountService;
    /**
     * 查询所有
     * @return
     */
    @RequestMapping("/findAll.do")
    public ModelAndView findAll(){
        System.out.println("表现层:查询所有的账号...");
        // 调用service对象的方法
        List list = accountService.findAll();
        ModelAndView mv = new ModelAndView();
        mv.setViewName("res");
        return mv;
    }
}
​

4、Spring整合MyBatis框架

1. 搭建和测试MyBatis的环境

  1. 编写AccountMapper.xml映射配置文件



    
    

    
    



        insert into account(name,money) values(#{name},#{money})
    

    
    
        update account set name = #{name},money=#{money} where id = #{id}
    

    
    
        delete from account where id = #{id}
    

     2.编写AccountMapper接口

package com.qcby.mapper;
import com.qcby.model.Account;
import java.util.List;

/**
 * ssm整合持久层接口
 * 实现查询所有的账户信息
 */
public interface AccountMapper {
    // 查询所有
    public List findAll();
    //新增
    public int insert(Account account);
    //更新
    public int update(Account account);
    //删除
    public int delete(Integer id);
}

2. Spring整合MyBatis框架

  1. 目的:把mybatis框架的内容配置到applicationContext.xml配置文件中


    
    
    
        
        
        
        
    
    
        
        
        
        
    
    
        
        
        
    
    
        
    
    
        
            
            
        
    
    
        
    

5、SSM(Spring + SpringMVC + MyBatis)框架中的调用过程:

当Tomcat启动后,会加载web.xml文件,并根据其配置加载相关的配置文件

  1. Tomcat启动:当Tomcat服务器启动时,它会加载web应用程序,并读取web.xml配置文件。web.xml是web应用的部署描述符,它定义了应用的初始化参数、Servlet的映射规则、监听器、过滤器等。
  2. 加载配置文件:根据web.xml中的配置,Tomcat会加载相应的配置文件。例如,如果web.xml中配置了contextConfigLocation参数,Tomcat会加载该路径下的配置文件。对于SSM框架,这通常是applicationContext.xml和springmvc.xml。
  3. Controller层:当用户在JSP页面上点击一个链接或提交一个表单时,会发送一个HTTP请求到服务器。在Spring MVC中,这个请求会被DispatcherServlet捕获。DispatcherServlet会根据请求的URL和参数找到相应的Controller(通常是一个带有@RequestMapping注解的方法)。Controller负责处理业务逻辑,并将数据绑定到模型上。
  4. Service层:Controller层通常不直接与数据源交互,而是调用Service层的方法来执行业务逻辑。Service层封装了与数据源的交互逻辑,如数据库查询、更新等。Service层的方法通常由@Service或@Component等注解进行标识,并由Spring自动扫描和注入到Controller中。
  5. 数据访问层:在Service层中,你可以调用DAO(Data Access Object)或Mapper接口的方法来访问数据库。MyBatis是一个流行的持久层框架,它提供了Mapper接口和映射文件,使得与数据库的交互变得简单和可维护。
  6. 返回响应:当Controller层处理完请求后,它会返回一个模型对象,并由DispatcherServlet选择合适的视图(通常是JSP)来呈现给用户。

项目目录:

SSM框架整合_第1张图片

你可能感兴趣的:(数据库)