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

整合SSM框架

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

整合SSM框架

环境要求

环境:

  • IDEA

  • MySQL 5.7.19

  • Tomcat 9

  • Maven 3.6

要求:

  • 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识;

数据库环境

创建一个存放书籍数据的数据库表

CREATE DATABASE `ssmbuild`;

USE `ssmbuild`;

DROp TABLE IF EXISTS `books`;

CREATE TABLE `books` (
`bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id',
`bookName` VARCHAr(100) NOT NULL COMMENT '书名',
`bookCounts` INT(11) NOT NULL COMMENT '数量',
`detail` VARCHAr(200) NOT NULL COMMENT '描述',
KEY `bookID` (`bookID`)
) ENGINE=INNODB DEFAULT CHARSET=utf8

INSERT  INTO `books`(`bookID`,`bookName`,`bookCounts`,`detail`)VALUES
(1,'Java',1,'从入门到放弃'),
(2,'MySQL',10,'从删库到跑路'),
(3,'Linux',5,'从进门到进牢');

基本环境搭建

1、新建一Maven项目!ssmbuild , 添加web的支持

2、导入相关的pom依赖!


   
   
       junit
       junit
       4.12
   
   
   
       mysql
       mysql-connector-java
       5.1.47
   
   
   
       com.mchange
       c3p0
       0.9.5.2
   

   
   
       javax.servlet
       servlet-api
       2.5
   
   
       javax.servlet.jsp
       jsp-api
       2.2
   
   
       javax.servlet
       jstl
       1.2
   

   
   
       org.mybatis
       mybatis
       3.5.2
   
   
       org.mybatis
       mybatis-spring
       2.0.2
   

   
   
       org.springframework
       spring-webmvc
       5.1.9.RELEASE
   
   
       org.springframework
       spring-jdbc
       5.1.9.RELEASE
   

3、Maven资源过滤设置


   
       
           src/main/java
           
               ***.xml
           
           false
       
       
           src/main/resources
           
               ***.xml
           
           false
       
   

 3、Maven资源过滤设置(很容易遇到静态资源导出问题,不怕一万就怕万一,加上!)


   
       
           src/main/java
           
               ***.xml
           
           false
       
       
           src/main/resources
           
               ***.xml
           
           false
       
   

4、建立基本结构和配置框架!

  • com.kuang.pojo

  • com.kuang.dao

  • com.kuang.service

  • com.kuang.controller

  • mybatis-config.xml





  •  applicationContext.xml



    
    
    

Mybatis层编写

1、数据库配置文件 database.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=123456

2、IDEA关联数据库 

3、编写MyBatis的核心配置文件

注意: 如果使用的是MySQL8.0+,要增加一个时区的配置:&serverTimezone=Aisa/Shanghai




    
    
        
    

    
        
    

 4、编写数据库对应的实体类 com.kuang.pojo.Books

使用lombok插件!

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Books {
    private int bookID;
    private String bookName;
    private int bookCounts;
    private String detail;
}

5、编写Dao层的 Mapper接口!

public interface BookMapper {
    //增加一本书
    int addBook(Books books);
    //删除一本书
    int deleteBookById(@Param("bookID")int id);
    //更新一本书
    int updateBook(Books books);
    //查询一本书
    Books queryBookById(@Param("bookID")int id);
    //查询全部的书
    List queryAllBook();
}

6、编写接口对应的 Mapper.xml 文件。需要导入MyBatis的包;






   
   
      insert into ssmbuild.books(bookName,bookCounts,detail)
      values (#{bookName}, #{bookCounts}, #{detail})
   

   
   
      delete from ssmbuild.books where bookID=#{bookID}
   

   
   
      update ssmbuild.books
      set bookName = #{bookName},bookCounts = #{bookCounts},detail = #{detail}
      where bookID = #{bookID}
   

   
   
      SELECT * from ssmbuild.books
   

 7、编写Service层的接口和实现类

接口:

//BookService:底下需要去实现,调用dao层
public interface BookService {
   //增加一个Book
   int addBook(Books book);
   //根据id删除一个Book
   int deleteBookById(int id);
   //更新Book
   int updateBook(Books books);
   //根据id查询,返回一个Book
   Books queryBookById(int id);
   //查询全部Book,返回list集合
   List queryAllBook();
}

实现类:

public class BookServiceImpl implements BookService {

   //调用dao层的操作,设置一个set接口,方便Spring管理
   private BookMapper bookMapper;

   public void setBookMapper(BookMapper bookMapper) {
       this.bookMapper = bookMapper;
  }
   
   public int addBook(Books book) {
       return bookMapper.addBook(book);
  }
   
   public int deleteBookById(int id) {
       return bookMapper.deleteBookById(id);
  }
   
   public int updateBook(Books books) {
       return bookMapper.updateBook(books);
  }
   
   public Books queryBookById(int id) {
       return bookMapper.queryBookById(id);
  }
   
   public List queryAllBook() {
       return bookMapper.queryAllBook();
  }
}

OK,到此,底层需求操作编写完毕!

Spring层

1、配置Spring整合MyBatis,我们这里数据源使用c3p0连接池;

2、我们去编写Spring整合Mybatis的相关的配置文件;spring-dao.xml

注意:

1.配置了C3PO的连接池

2.配置了Dao接口扫描包,动态地实现了Dao接口可以注入到Spring容器中




   
   
   

   
   
   
       
       
       
       
       

       
       
       
       
       
       
       
       
       
   

   
   
       
       
       
       
   

   
   
   
       
       
       
       
   

3、Spring整合service层 

注意:

1.这里bookMapper可以引用不爆红,是因为IDEA把配置文件全部配置在了同一个上下文中。后面会手动全部引用到applicationContest.xml中形成上下文。

2.这里能引用bookMapper是因为在spring-dao.xml配置了dao接口扫描包,会将dao下的接口注入到spring容器中,并且引用名称默认是接口的首字母小写。



    
    
    
    
        
    
    
    
        
        
    
    

Spring层搞定!再次理解一下,Spring就是一个大杂烩,一个容器!对吧!

SpringMVC层

1、web.xml

注意: web.xml中,这里不能绑定spring-mvc.xml,因为没有把service层的bean注入进去,而是绑定applicationContext.xml




   
   
       DispatcherServlet
       org.springframework.web.servlet.DispatcherServlet
       
           contextConfigLocation
             
           classpath:applicationContext.xml
       
       1
   
   
       DispatcherServlet
       /
   

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

 2、spring-mvc.xml




    
    
    
    
    
    
    
    
        
        
    

3、Spring配置整合文件,applicationContext.xml




   
   
   
   

配置文件,暂时结束!Controller 和 视图层编写

1、BookController 类编写 , 方法一:查询全部书籍

@Controller
@RequestMapping("/book")
public class BookController {

   @Autowired
   @Qualifier("BookServiceImpl")
   private BookService bookService;

   @RequestMapping("/allBook")
   public String list(Model model) {
       List list = bookService.queryAllBook();
       model.addAttribute("list", list);
       return "allBook";
  }
}

2、编写首页 index.jsp

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

  
    首页
  
  
   
     进入书籍页面
   
  

问题:报错java.lang.IllegalArgumentException: Unsupported class file major version 62

结局方案: 

诸如java.lang.IllegalArgumentException: Unsupported class file major version 62 之类的报错,原因都可能是SDK的版本不对导致的,如我遇到的这个问题是因为jdk15无法兼容某些依赖导致的,改为jdk1.8就可以解决问题了

随之而来的错误: 错误:无效的源发行版:17

 

 

 

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

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

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