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

SSM框架整合详细教程(IDEA版含源码以及所需的配置文件)

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

SSM框架整合详细教程(IDEA版含源码以及所需的配置文件)

1、首先创建一个普通的Maven的项目 2、配置pom.xml,导入依赖(包含所需的jar包和静态资源导出:让.xml和resource下的东西导出)

        依赖:junit,数据库驱动,连接池,servlet,jsp,mybatis,mybatis-spring,spring,Lombok



    4.0.0

    com.rk
    SSM框架整合
    1.0-SNAPSHOT

    
        
        
            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
        

         
        
            org.projectlombok
            lombok
            1.16.10
        
    

    
    
        
            
                src/main/java
                
                    ***.xml
                
                false
            
            
                src/main/resources
                
                    ***.xml
                
                false
            
        
    
3、建立基本结构和配置框架 
  • com.rk.pojo       

  •  com.rk.dao

  • com.rk.service

  • com.rk.controller

  • com.rk.fliter

  • com.rk.utils

  • 在resources下创mybatis-config.xml文件

  • 
    
    
    
    
  • 在resources下创applicationContext.xml文件 

  • 
    
    
    
  • 完成后的包结构: 
4、Mybatis层编写及相关配置

        4.1、在数据库配置文件 database.properties

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

        jdbc.url=jdbc:第一个参数安全连接:useSSL=true

                             第二个参数设置编码:useUnicode=true&characterEncoding=utf8

        如果使用的是MySQL8.0+,在jdbc.url=jdbc:增加一个配置时区的参数:

                               & serverTimezone=Asia/Shanghai

        4.2、编写Mybatis的核心配置文件





    
    
        
    
    
    
        
    

        4.3、在pojo包下创建实体类Books              

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data//get,set,toString方法不用写   
@AllArgsConstructor//有参构造
@NoArgsConstructor//无参构造
public class Books {
    private int bookID;
    private String bookName;
    private int bookCounts;
    private String detail;
}

                其属性名要和数据中表的列相同

        4.4、创建一个持久层接口BookMapper

package com.rk.dao;

import com.rk.pojo.Books;
import org.apache.ibatis.annotations.Param;

import java.util.List;


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();
}

       4. 5、创建对应的配置文件BookMapper.xml





           
    
        insert into rk.books (bookName,bookCounts,detail)
        values (#{bookName},#{bookCounts},#{detail});
    
            
            
    
        delete from rk.books
        where bookID=#{bookId}
    

             
    
        update rk.books
        set bookName=#{bookName},bookCounts=#{bookCounts},detail=#{detail}
        where bookID=#{bookID};
    
    
            
    
        select * from rk.books;
    

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

                BookService

package com.rk.service;

import com.rk.pojo.Books;
import java.util.List;
public interface BookService {

    //增加一本书
    int addBook(Books books);

    //删除一本书
    int deleteBookById(int id);

    //更新一本书
    int updateBook(Books books);

    //查询一本书
    Books queryBookById(int id);

    //查询全部的书
    List queryAllBook();
}

                BookServiceImpl

package com.rk.service.Impl;

import com.rk.dao.BookMapper;
import com.rk.pojo.Books;
import com.rk.service.BookService;
import java.util.List;
public class BookServiceImpl implements BookService {
    //业务层调用dao层,组合dao层
    private BookMapper bookMapper;
    public void setBookMapper(BookMapper bookMapper) {
        this.bookMapper = bookMapper;
    }

    public int addBook(Books books) {
        return bookMapper.addBook(books);
    }

    public int deleteBookById(int id) {
        return bookMapper.deleteBookById(id);
    }

    public int updteBook(Books books) {
        return bookMapper.updateBook(books);
    }

    public Books queryBookById(int id) {
        return bookMapper.queryBookById(id);
    }

    public List queryAllBook() {
        return bookMapper.queryAllBook();
    }
}
5、Spring层编写

        5.1整合Mybatis层,编写Spring-dao.xml





    
    

    
    
        
        
        
        


        
        
        
        
        
        
        
        
        
    

    
    
        
            
        
    


    
    
        
        
        
        
    

        5.2、Spring整合service层、编写spring-service.xml





    
    

    
    
        
    

    
    
        
        
    

    


6、SpringMVC层的编写

        6.1增加Web支持

        6.2、在resource下创建一个spring-mvc.xml文件 




    
    
    
    
    
    
    
   
       
       
       
   

        6.3、编写web.xml文件



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

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

    
    
        15
    

        6.4、在applicationContext中引入spring-dao.xml、spring-servlet.xml、spring-mvc.xml文件




    
    
    

7、Controller 和 视图层编写 

        7.1、查询书籍

        Controller

package com.rk.controller;
import com.rk.pojo.Books;
import com.rk.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@Controller
@RequestMapping("/book")
public class BookController {
    //controller调service层

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

    //查询全部的书籍,并且返回到一个书籍展示页面
    @RequestMapping("/allBook")
    public String list(Model model){
        List books = bookService.queryAllBook();
        model.addAttribute("list",books);
        return "allBook";
    }
}

        书籍列表页面 allbook.jsp

<%@ taglib prefix="C" uri="http://java.sun.com/jsp/jstl/core" %>

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


    书籍展示页面
    
    



    
        
            
                
                    书籍列表 —— 显示所有书籍
                
            
        
    

    
        
            新增书籍
        
    


    
        
            
                    
书籍编号 书籍名称 书籍数量 书籍详情
${book.bookID} ${book.bookName} ${book.bookCounts} ${book.detail}

         7.2、新增书籍

          Controller

//跳转到增加书籍页面
    @RequestMapping("/toAddBook")
    public String toAddPaper(){
        return "addBook";
    }

    //添加书籍的请求
    @RequestMapping("/addBook")
    public String addBook(Books books){

        int i = bookService.addBook(books);
        return "redirect:/book/allBook";//重定向到allBook请求
    }

        因为当书籍在数据库增加时,要重新发起请求,才能在allBook页面显示

        增加页面:addBook.jsp

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


    添加书籍
    




    
        
            
                
                    新增书籍
                
            
        
    

    

        7.3修改和删除书籍

        Controller

   //跳转到修改书籍页面     并且要携带一本书籍的信息
    @RequestMapping("/toUpdateBook")
    public String toUpdatePaper(int id,Model model){
        Books books = bookService.queryBookById(id);
        model.addAttribute("Qbooks",books);
        return "updateBook";
    }

    
    //修改书籍
    @RequestMapping("/updateBook")
    public String updateBook(Books books)
    {
        int i = bookService.updateBook(books);
        return "redirect:/book/allBook";//重定向到allBook请求
    }

    //删除书籍
    @RequestMapping("/deleteBook")
    public String deleteBook(int id)
    {
        bookService.deleteBookById(id);
        return "redirect:/book/allBook";//重定向到allBook请求
    }

        updateBook.jsp

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


    修改书籍
    




    
        
            
                
                    修改书籍书籍
                
            
        
    

    

        7.4、查询功能

        从bookMapper层开始  

//通过书名查询一本书
    Books queryBookByName(@Param("bookName") String name);

        bookMapper.xml

 

        BookServiceImpl

  public Books queryBookByName(String name) {
        return bookMapper.queryBookByName(name);
    }

        controller

  //查询
    @RequestMapping("/queryBook")
    public String queryBook(String queryBookName, Model model)
    {
        Books books = bookService.queryBookByName(queryBookName);
        if(books==null)
            return "redirect:/book/allBook";

        List list=new ArrayList();
        list.add(books);
        System.out.println(books);
        model.addAttribute("list",list);
        return "allBook";
    }

        框架搭建完成后,如果要增加功能,要从底层一层一层往上写        

         

         

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

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

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