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

SSM框架整合

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

SSM框架整合

SSM框架整合
  • SSM框架整合
      • maven依赖
      • maven资源导出问题
      • 项目结构
      • datasource.properties
      • applicationContext.xml
      • 实体类 Books
      • mybatis-config.xml文件
      • BookMapper接口
      • BookMapper.xml
      • spring-dao.xml
      • BookService接口
      • BookServiceImpl
      • spring-service.xml
      • web.xml
      • spring-mvc.xml
      • BookController
      • jsp文件
      • Maven导包有问题的话,需要自己手动

SSM框架整合

环境:

  • IDEA
  • MySQL
  • Tomcat 9
  • Maven 3.6
maven依赖
  • maven依赖

    
    
        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.aspectj
        aspectjweaver
        1.8.13
    

mySql的依赖需要注意一下,尽量使用与自己数据库版本差不多的

数据连接池 :

dbcp:半自动化操作,不能自动连接
c3p0:自动化操作,自动化的加载配置文件,可以自动配置到对象中
druid
hikari
maven资源导出问题
  • maven资源导出问题

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

防止出错,尽量写上

项目结构
  • idea要连接上自己的数据库

  • 项目结构

    • com.wang.pojo
    • com.wang.dao
    • com.wang.service
    • com.wang.controller

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hR0wKawk-1635510536882)(image-20211029195248549.png)]

datasource.properties
  • 编写datasource.properties (数据库配置文件)

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

有个注意点:

我们的数据库用户名的命名不要使用username,否则数据库会拒绝访问

​ 尽量都是用上述格式

applicationContext.xml
  • applicationContext.xml (resources目录)




    
    
    


写这个xml文件的目的是便于整合其他spring配置文件,我们每写一个spring.xml文件就要导入这里

实体类 Books
  • 实体类 Books (com.wang.pojo)

package com.wang.pojo;

public class Books {
    private int bookID;
    private String bookName;
    private int bookCounts;
    private String detail;

    public Books() {
    }

    public Books(int bookID, String bookName, int bookCounts, String detail) {
        this.bookID = bookID;
        this.bookName = bookName;
        this.bookCounts = bookCounts;
        this.detail = detail;
    }

    public int getBookID() {
        return bookID;
    }

    public void setBookID(int bookID) {
        this.bookID = bookID;
    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public int getBookCounts() {
        return bookCounts;
    }

    public void setBookCounts(int bookCounts) {
        this.bookCounts = bookCounts;
    }

    public String getDetail() {
        return detail;
    }

    public void setDetail(String detail) {
        this.detail = detail;
    }

    @Override
    public String toString() {
        return "Books{" +
                "bookID=" + bookID +
                ", bookName='" + bookName + ''' +
                ", bookCounts=" + bookCounts +
                ", detail='" + detail + ''' +
                '}';
    }
}

也可以使用lombok注解实现实体类的编写,也需要导入lombok的依赖

实体类的属性名尽量要与数据库中的字段名一致

mybatis-config.xml文件
  • mybatis-config.xml文件(resources目录)



    
        
    

    
        
    


    
        
    


注意一些配置信息

BookMapper接口
  • BookMapper接口(com.wang.dao)

package com.wang.dao;

import com.wang.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();
    //查询bookName
    Books queryBookByName(@Param("bookName") String bookName);
}
BookMapper.xml
  • BookMapper.xml (com.wang.dao)




    
    
      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
   

    
    

每写完一个mapper都要到mybatis-config.xml配置文件进行配置

spring-dao.xml
  • spring-dao.xml(resources目录)




    

    
    
        
        
        
        


        
        
        
        
        
        
        
        
        

    

   
       
       
   

    
    
        
        
        
        
    

    
        
    


BookService接口
  • BookService接口 (com.wang.service)

package com.wang.service;

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

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();
    //
    Books queryBookByName( String bookName);
}
BookServiceImpl
  • BookServiceImpl (com.wang.service)
package com.wang.service;

import com.wang.dao.BookMapper;
import com.wang.pojo.Books;

import java.util.List;

public class BookServiceImpl implements BookService{

    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 updateBook(Books books) {
        return bookMapper.updateBook(books);
    }

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

    public List queryAllBook() {
        return bookMapper.queryAllBook();
    }

    public Books queryBookByName(String bookName) {
        return bookMapper.queryBookByName(bookName);
    }
}
spring-service.xml
  • spring-service.xml (resources目录)




    
    
        
    

    
    
        
        
    

    
        
            
        
    

    
        
        
    

  • 写到这里我们就可以去测试一下自己数据库以及Sql语句是否写错

web.xml
  • 接下来我们将这个项目添加web支持,并配置web.xml



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

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

    
    
        15
    

​ 特别注意:

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

这里使用的spring.xml是我们整合用的applicationContext.xml文件,否则会出先错误

spring-mvc.xml
  • spring-mvc.xml(resources目录)




    
    
    
    
    
    
        
        
        
    


    
    


BookController
  • BookController(com.wang.controller)

package com.wang.controller;

import com.wang.pojo.Books;
import com.wang.service.BookService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.ArrayList;
import java.util.List;

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


    private BookService bookService;

    public void setBookService(BookService bookService) {
        this.bookService = bookService;
    }

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

    //跳转到添加书籍页面
    @RequestMapping("/toAddBook")
    public String toAddBook(){
        return "addBook";
    }
    //添加书籍功能
    @RequestMapping("/addBook")
    public String addBook(Books books){
        bookService.addBook(books);
        return "redirect:/books/allbook";
    }


    //跳转到修改图书界面
    @RequestMapping("/toUpdateBook")
    public String toUpdateBook(int id,Model model){
       Books qeBook= bookService.queryBookById(id);
        model.addAttribute("qeBook",qeBook);
        return "updateBook";
    }
    //更改书籍信息
    @RequestMapping("/updateBook")
    public String updateBook(Books books){
        bookService.updateBook(books);
        return "redirect:/books/allbook";
    }
    //删除书籍
    @RequestMapping("/deleteBook")
    public String deleteBook(int id){
        bookService.deleteBookById(id);
        return "redirect:/books/allbook";
    }

    //查询书籍
    @RequestMapping("/queryBook")
    public  String queryBook(String bookName,Model model){
        Books book=bookService.queryBookByName(bookName);
        List list=new ArrayList();
        list.add(book);
        model.addAttribute("list",list);
        return "allbooks";
    }
}

一定要注意路径格式

jsp文件
  • jsp文件

    • index.jsp

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

      图书列表

  • WEB-INF/jsp下的jsp文件

    • addBook.jsp

      <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
      
      
          添加书籍
          
          
          
      
      
      

    • allbook.jsp

      <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
      
      
          图书列表
          
          
          
      
      
      
      
      书籍编号 书籍名字 书籍数量 书籍详情 操作
      ${book.getBookID()} ${book.getBookName()} ${book.getBookCounts()} ${book.getDetail()} 更改 | 删除

    • updateBook.jsp

      <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
      
      
          修改书籍
          
          
          
      
      
      
      //隐藏域 用户看不到
  • updateBook.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


    修改书籍
    
    
    


//隐藏域 用户看不到
Maven导包有问题的话,需要自己手动

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

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

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