Spring+SpringMvc+Mybatis框架整合

 

简介

SSM框架是Spring+SpringMvc+Mybatis框架的整合,它是目前主流JavaWeb框架之一。

Spring:一个强大的IOC容器。同时提供了各种的模块便于各领域的开发。

SpringMvc:spring框架中的一个模块,应用于web层即Controller层。它的本质是Servlet,用于接收/响应请求。

Mybatis:持久层ORM框架,连接并操作数据库。

开发环境

  Java8 + MySQL8 + IDEA2019 + tomcat9 + maven3.6

  开发环境尽量保持一致,以免出现不必要的错误。

  接下来开始干活!!!

创建maven项目并导入依赖


    UTF-8
    1.7
    1.7
    4.3.18.RELEASE
    
    1.7.25
    1.2.17
  

  
  
    
      junit
      junit
      4.12
    
    
    
      log4j
      log4j
      ${log4j.version}
    
    
      org.slf4j
      slf4j-api
      ${slf4j.version}
    
    
      org.slf4j
      slf4j-log4j12
      ${slf4j.version}
    
    
    
      mysql
      mysql-connector-java
      8.0.13
      runtime
    
  
    
      com.mchange
      c3p0
      0.9.5.4
    
    
    
      org.mybatis
      mybatis
      3.4.6
    
    
      org.mybatis
      mybatis-spring
      1.3.2
    
    
    
    
      org.springframework
      spring-core
      ${spring.version}
    
    
      org.springframework
      spring-beans
      ${spring.version}
    
    
      org.springframework
      spring-context
      ${spring.version}
    
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    
    
      org.springframework
      spring-tx
      ${spring.version}
    
    
    
      org.springframework
      spring-web
      ${spring.version}
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
    
      javax.servlet
      javax.servlet-api
      3.1.0
    
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.9.9.2
    
    
      com.fasterxml.jackson.core
      jackson-core
      2.9.9
    
  

  
    ssm
    
      
        src/main/java
        
          **/*.properties
          **/*.xml
        
      
      
        src/main/resources
      
    
  

目录结构

Spring+SpringMvc+Mybatis框架整合_第1张图片

另外可以自己创建目录用于单元测试。

Java目录

  • bean:业务中使用的实体类
  • controller:springMvc前端控制器
  • service:业务层接口和实现类
  • mapper:mybatis接口和映射文件。通常使用接口代理开发,接口和映射文件放在同意目录下并且文件名要相同。

resources:框架相关配置文件

  1.db.properties——————数据库配置文件(这里连接的是MySQL)

jdbc.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=UTF-8&serverTimezone=UTC
mysql.username=root
mysql.password=****

这里注意几点:

  1.如果你使用MySQL5.0+的版本,驱动要改为com.mysql.jdbc.Driver。

  2.在mysql.url属性中对应的数据库链接要规定字符编码,一般需要支持中文就设置为UTF-8

  3.serverTimezone用于设置时区,这里设置为UTC。也可以设置为我们所在的时区---东八区GMT%2B8。不然容易出现时区异常报错,如下:   

java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

 

  2.log4j.properties——————log4j日志配置文件

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

这份配置文件的内容是官网提供的,想了解更多请参考log4j官网:http://logging.apache.org/log4j/2.x/

  3.spring.xml——————spring容器配置、数据库连接池配置、集成mybatis配置。




    
    

    
    

    
    
        
        
        
        
        
    

    
    
        
        
        
    

    
    
        
        
    


这里由于mybatis的配置需要较少,因此直接集成到spring的配置文件中而没有另外配置mybatis-config.xml。

  4.springMvc.xml




    
    
        
        
            
                
                    
                        text/html;charset=UTF-8
                        text/plain;charset=UTF-8
                        application/json;charset=UTF-8
                    
                
            
        
    
    
    

    
    
        
        
        
        
    

开启mvc注解驱动时自动注册映射器和适配器,同时配置指定编码数据绑定。如果是前后端分离开发,后端只负责提供数据接口则不需要视图解析器。

web.xml配置文件:加载sources下的配置文件、配置springMvc前端控制器以及全局编码过滤器


  
    CharacterEncoding
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      utf-8
    
  
  
    CharacterEncoding
    
    /*
  

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

  
  
    springMvc
    org.springframework.web.servlet.DispatcherServlet
    
    
      contextConfigLocation
      classpath:SpringMvc.xml
    
  
  
  
    springMvc
    *.do
  

最后提供几个案例

基于ssm+jquery实现的用户管理系统:https://github.com/Lionel340/ssm(入门案例,单表的增删改查)

Spring+SpringMvc+Mybatis框架整合_第2张图片

基于ssm实现的社区项目:https://github.com/Lionel340/ssm_community

如果你觉得项目案例对你有用,还希望能点个star、fork支持一下。


如果文章有错的地方欢迎指正,大家互相交流。欢迎关注公众号developerLeo!会更新一些个人学习的文章。

Spring+SpringMvc+Mybatis框架整合_第3张图片

你可能感兴趣的:(教程,Java)