Spring和MyBatis的整合详解-配置文件&整合过程&代码开发

配置文件

SSM整合参考文章(直接百度“SSM整合”)
http://my.oschina.net/sherwayne/blog/262616
1.需要哪些配置文件? (3个配置文件)

web.xml,springmvc的配置文件,spring和mybatis整合的配置文件
2.web.xml中的配置
(1)spring的配置(加载spring的相关配置),其实就是spring和mybatis整合的配置文件
第一步:加载listener



    org.springframework.web.context.ContextLoaderListener
 

第二步:指定spring配置文件的位置和名字(默认的方式和非默认的方式)。
contextConfigLocation
总结:可以默认将applicationContext.xml放在web-inf目录下,也可以指定配置文件的名称和位置。
从之前的项目中复制配置文件


    contextConfigLocation
    classpath:spring/applicationContext.xml

省略以后,相当于默认的方式


    contextConfigLocation
    /WEB-INF/applicationContext.xml
 

(2)spring mvc的配置
(a)默认的方式:在web.xml中配置springmvc的servlet的名字xxx,默认的springmvc配置文件名为xx-servlet.xml
(b)非默认的方式:直接在web.xml中配置springmvc的servlet的时候,指定springmvc配置文件的位置和名字。

非默认的方式


  
    SpringMVC
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath:spring-mvc.xml
    
  
  
    SpringMVC
    *.do
  

(3)spring和mybatis整合的配置文件applicationContext.xml

spring 和 mybatis 的整合过程

在applicationContext.xml中进行整合
参考文章
http://my.oschina.net/sherwayne/blog/26261
1.这两个配置项不再需要

(1)
(2)

参考文章:
http://chenjumin.iteye.com/blog/456351
参考文章:
http://blog.sina.com.cn/s/blog_872758480100wtfh.html
当使用 后,就可以将 移除了
2.配置datasource


    
        
        
        
        
        
        
        
        
        
        
        
        
        
             
          
          
        
        
        
        
        
          
    

3.配置sessionfactory,并且指明mapper映射文件所在的包名。
id是固定的

    
    
        
            
   
        
                
                
            classpath:config/*.xml
        
        
    

4.指明mapper接口所在的包名



    

5.配置事务管理器,注意:注入的是datasource属性


  
    
 

  
  

    
    



            
    
         
         
            

applicationContext.xml完整代码



        
        
        
        
        
        
    
        
        
        
        
        
        
        
        
        
        
        
        
        
             
          
          
        
        
        
        
        
          
     
    
    
    
        
            
   
        
                
                
            classpath:config/*.xml
        
        
    
    
    
    
        
    
    
    
      
        
     


      
    
        
        
    
  
    
                
        
             
             
                
    

代码开发

1.由于已经整合了事务管理,获取session的获取和关闭的代码不再需要。
将userMapper定义为类的属性,为其设置setter,getter,通过@Resource注入即可。

2.将DAO注解为一个@component

@Component
public class UserDAO {
    UserMapper userMapper;
    public UserMapper getUserMapper() {
        return userMapper;
    }
    @Resource
    public void setUserMapper(UserMapper userMapper) {
        this.userMapper = userMapper;
    }

    public boolean isValid(User user) throws IOException {
        boolean flag = false;
        if (userMapper.isExists(user)==1) {
            flag = true;
        }
        return flag;
    }
}

3.在controller中,将userDAO定义为累的属性,为其设置getter,setter,通过@Resource注入即可。

@Controller        
public class UserController {
    UserDAO userDAO;
    public UserDAO getUserDAO() {
        return userDAO;
    }
    @Resource
    public void setUserDAO(UserDAO userDAO) {
        this.userDAO = userDAO;
    }

    @RequestMapping("/check.do")
    public String check(HttpSession session,User user) throws IOException {
        String path = "login";
        if (userDAO.isValid(user)) {
            session.setAttribute("name", user.getName());
            path = "welcome";
        }
        System.out.println("提交成功");
        return path;
    }

你可能感兴趣的:(Spring和MyBatis的整合详解-配置文件&整合过程&代码开发)