栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SSM框架整合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSM框架整合

 

1.整合持久层(Dao层)

-----也就是整合Spring和mybatis

(1)在 db.properties 文件中,保存数据库连接的基本信息

#db.properties
dataSource=org.apache.commons.dbcp.BasicDataSource  //连接池数据源
driver=com.mysql.jdbc.Driver                        //数据库连接驱动
url=jdbc:mysql://localhost:3306/ssm                 //数据库连接URL
username=root
password=root

(2) 配置mybatis全局文件 mybatis-configuration.xml




​
    
    
    
        
    
     
    
    
        
        
    
    

​
//在这里不需要配置mapper扫描,因为spring和mybatis的整合包会进行mapper扫描
//必须遵循:mapper.xml 和 mapper.java 文件同名且在同一个目录下
    通过mapper来加载映射文件:http://www.cnblogs.com/ysocean/p/7301548.html
必须满足下面四点:
1、xxxMapper 接口必须要和 xxxMapper.xml 文件同名且在同一个包下,也就是说 UserMapper.xml 文件       中的namespace是UserMapper接口的全类名
​
  2、xxxMapper接口中的方法名和 xxxMapper.xml 文件中定义的 id 一致
​
  3、xxxMapper接口输入参数类型要和 xxxMapper.xml 中定义的 parameterType 一致
​
  4、xxxMapper接口返回数据类型要和 xxxMapper.xml 中定义的 resultType 一致

(3)配置Spring文件 ------Spring_dao.xml

需要配置数据源、SqlSessionFactory以及mapper扫描器



 
    
    
    
    
        
        
        
        
        
        
    
     
    
    
        
        
        
        
    
     
    
    
        
        
        
      

(4)根据逆向工程生成 pojo 类以及 mapper 文件

逆向工程要是一个额外的工程,生成我们所需的po类以及mapper文件后,在将其复制到我们当前项目中

由于我们这里是进行登录验证,所以在 UserMapper.java 中添加如下代码:

ackage com.ys.mapper;
 
import com.ys.po.User;
import java.util.List;
import org.apache.ibatis.annotations.Param;
 
public interface UserMapper {
 
    //通过用户名和密码查询User
    User selectUserByUsernameAndPassword(User user);
 
}
UserMapper.xml


  

2.整合业务层(Service)

(1)定义 service 接口

package com.ys.service.impl;
 
import com.ys.po.User;
 
public interface IUserService {
     
    //通过用户名和密码查询User
    public User selectUserByUsernameAndPassword(User user);

(2)编写Service实现类

package com.ys.service;
 
import org.springframework.beans.factory.annotation.Autowired;
 
import com.ys.mapper.UserMapper;
import com.ys.po.User;
import com.ys.service.impl.IUserService;
 
public class UserServiceImpl implements IUserService{
 
    @Autowired
    private UserMapper userMapper; //通过@Autowired向spring容器注入UserMapper
     
    //通过用户名和密码查询User
    @Override
    public User selectUserByUsernameAndPassword(User user) {
        User u = userMapper.selectUserByUsernameAndPassword(user);
        return u;
    }
 
}

(3)在spring容器中配置 Service 接口,这里我们使用 xml 的方式 spring-service.xml



 
    
    
     

(4)在spring容器中配置 事务处理 spring-transaction.xml



 
    
    
    
         
         
    
 
    
    
         
             
             
             
             
             
             
             
         
    
     
    
         
         
        

3.整合表现层(Controller层)主要是整合SpringMVC

(1)配置前端控制器(web.xml)



  SpringMVC_01
      
  
  
    springmvc
    org.springframework.web.servlet.DispatcherServlet
   
    
        contextConfigLocation
        classpath:spring/springmvc.xml
    
  
 
  
    springmvc
    /
  

              

(2)配置处理器映射器、处理器适配器、视图解析器(springmvc.xml)



 
    
    
 
     
    
    
     
 
    
    
         
    

(3)编写 Handler,也就是 UserController.java

package com.ys.controller;
 
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 com.ys.po.User;
import com.ys.service.impl.IUserService;
 
@Controller
public class UserController {
    @Autowired
    public IUserService userService;
     
    @RequestMapping("/login")
    public ModelAndView login(User user){
        ModelAndView mv = new ModelAndView();
        User u = userService.selectUserByUsernameAndPassword(user);
        //根据用户名和密码查询user,如果存在,则跳转到 success.jsp 页面
        if(u != null){
            mv.addObject("username", u.getUsername());
            mv.addObject("user", u);
            mv.setViewName("view/success.jsp");
        }else{
            //如果不存在,则跳转到 login.jsp页面重新登录
            return new ModelAndView("redirect:/login.jsp");
        }
        return mv;
    }
 
}

(4)加载 Spring 容器

新建了 spring-dao.xml,spring-service.xml,spring-transaction.xml (事务处理)这些文件,里面有我们配置的 mapper,controller,service,那么如何将这些加载到 spring 容器中呢?

在web.xml加入代码

// 加载spring容器

   contextConfigLocation
   classpath:spring/spring-*.xml


   org.springframework.web.context.ContextLoaderListener

测试

login.jsp

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




Insert title here


    
               
               
                   

success.jsp

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




Insert title here


    Hello ${user.username}

http://localhost:8080/项目名/Controller中的url地址

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/354277.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号