ssm整合

多线程共享时  对象要实现序列化Serializable

二级缓存 

cacheEabled 这是官方文档里面关于二级缓存默认是开启的,而在我们使用的时候还是需要手动配置开启的

MyBatis逆向工程插件

1.导入jar包 可以在本级项目的pom文件中添加

        
            UTF-8
            17
            17
            17
        



    
    

        
        

            
            

                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.0
                
                
                    true
                
                
                

                    
                    
                        org.mybatis.generator
                        mybatis-generator-core
                        1.3.2
                    

                    
                    
                        com.mchange
                        c3p0
                        0.9.2
                    

                    
                    
                        mysql
                        mysql-connector-java
                        8.0.16
                    

                
            
        
    

2.创建generatorConfig.xml配置文件

 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

这行会报红,不用管




    
    
        
            
            
        

        
        
            
        
        
        
            
            
        

        
        
            
        

        
        
            
        
        
        
        
        

3.依次添加   jdbc.properties         logback.xml          mybatis-config.xml

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/top_news?serverTimezone=UTC&rewriteBatchedStatements=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456



    
    
        
            
            
            [%d{yyyy:MM:dd HH:mm:ss}] [%-5level] [%thread] [%logger] [%method]--%msg %n
            UTF-8
        
    

    
    
    
        
        
    

    
    







    

    
        
    
    


        
    
    
    
        
            
            
            
            
                
                
                
                
            
        

    

    
        
        
    

这个时候看一下所有的包里是没有任何类

然后双击这个generator

ssm整合_第1张图片

最终项目结构如下:

ssm整合_第2张图片

然后随便写个测试

package com.liu.test;

import com.liu.mybatis.bean.User;
import com.liu.mybatis.bean.UserExample;
import com.liu.mybatis.mapper.UserMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class TestGenerator {

    private SqlSessionFactory sqlSessionFactory;
    @Before
    public void init() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
    }

    @Test
    public void testGenerator01(){
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        UserExample userExample = new UserExample();
        userExample.createCriteria().andNameEqualTo("宋江");

        List users = mapper.selectByExample(userExample);
        System.out.println(users);
    }
}

ssm整合

1.导入jar包


    5.3.6
    UTF-8
    17
    17
    17
  

  
    
      org.springframework
      spring-context
      ${spring.version}
    
    
      org.springframework
      spring-beans
      ${spring.version}
    
    
    
      org.springframework
      spring-web
      ${spring.version}
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    
    
      org.springframework
      spring-aspects
      ${spring.version}
    
    
      org.springframework
      spring-test
      ${spring.version}
    
    
    
      org.mybatis
      mybatis
      3.5.7
    
    
    
      org.mybatis
      mybatis-spring
      2.0.6
    
    
    
      com.alibaba
      druid
      1.0.9
    
    
    
      junit
      junit
      4.12
      test
    
    
    
      mysql
      mysql-connector-java
      8.0.16
    
    
    
      log4j
      log4j
      1.2.17
    
    
    
      com.github.pagehelper
      pagehelper
      5.2.0
    
    
    
      ch.qos.logback
      logback-classic
      1.2.3
    
    
    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.12.1
    
    
      commons-fileupload
      commons-fileupload
      1.3.1
    
    
    
      org.thymeleaf
      thymeleaf-spring5
      3.0.12.RELEASE
    
    
    
      org.projectlombok
      lombok
      1.18.24
      provided
    
  





  
  

    
    

      
      

        org.mybatis.generator
        mybatis-generator-maven-plugin
        1.3.0
        
        
          true
        
        
        

          
          
            org.mybatis.generator
            mybatis-generator-core
            1.3.2
          

          
          
            com.mchange
            c3p0
            0.9.2
          

          
          
            mysql
            mysql-connector-java
            8.0.16
          

        
      
    
  

2.配置前端控制器


  
    springmvc
    org.springframework.web.servlet.DispatcherServlet

    
      contextConfigLocation
      classpath:/spring*.xml
    
  
  
    springmvc
    /
  

3.创建generatorConfig.xml配置文件,导入jar包




    
    
        
            
            
        

        
        
            
        
        
        
            
            
        

        
        
            
        

        
        
            
        
        
        
        
        

 

    
    

      
      

        org.mybatis.generator
        mybatis-generator-maven-plugin
        1.3.0
        
        
          true
        
        
        

          
          
            org.mybatis.generator
            mybatis-generator-core
            1.3.2
          

          
          
            com.mchange
            c3p0
            0.9.2
          

          
          
            mysql
            mysql-connector-java
            8.0.16
          

        
      
    
  

4.加servlet

接口Servlet   

实现类  交给spring容器  加注解  @Servlet   注入Mapper的接口   @Autwried 

@Mapper注解  让spring容器管理Mapper接口 ,创建代理对象 交给spring容器管理

package com.liu.service;

import com.liu.mybatis.mapper.UserMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
@Mapper
public class UserServiceImpl implements UserService{
    @Autowired
    private UserMapper userMapper;
}

5.controller层

@RestController   

注入Servlet层

package com.liu.controller;


import com.liu.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;

//返回的是json串  是response 和Controller的相结合注解
@RestController

public class UserController {
    @Autowired
    private UserService userService;
}

6.配置springmvc     主要控制controller

  包扫描

开启mvc注解

视图解析器  不跳页面可以不写

放行静态资源




    

    

    
    

7.spring.xml

包扫描(mvc已经做过)

加载指定的配置文件

配置数据源

导入jdbc.properties

配置事务管理器

开启事务注解

如果mvc和spring配置文件分开, 就在web.xml中初始化spring

ssm整合_第3张图片

8.spring.xml整合mybatis

SqlSessionFactoryBean

引入数据源

dataSource  ref=dataSource

别名包

引入mybatis配置文件

引入映射文件

mapper文件直接提取出来到resources下,引入映射文件路径直接mapper/*




    

    
        
        
        
        
    

    
        
    

    

    

        

        

        

        

    

    
        
    

加入logback



    
    
        
            
            
            [%d{yyyy:MM:dd HH:mm:ss}] [%-5level] [%thread] [%logger] [%method]--%msg %n
            UTF-8
        
    

    
    
    
        
        
    

    
    

加入mybatis-config.xml








    
        
    


    
        
    

让spring为mapper接口创建代理对象

制定包扫描  加载@mapper注解  

但是只要在spring.xml中配置了代理,@Mapper就可以不写

package com.liu.service.impl;




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

@Service
//@Mapper
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

}

你可能感兴趣的:(java,开发语言)