110_SSM框架

110_SSM框架

目录


需求分析->功能设计->数据库设计

环境要求

环境

  • IDEA
  • MySQL 5.7.19
  • Tomcat 9
  • Maven 3.6

要求

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

数据库环境

CREATE DATABASE `ssm`CHARACTER SET utf8 COLLATE utf8_general_ci; 

USE `ssm`; 
 
CREATE TABLE `ssm`.`books` ( `book_id` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id', `book_name` VARCHAR(100) NOT NULL COMMENT '书名', `book_count` INT(10) NOT NULL COMMENT '数量', `book_detail` VARCHAR(1000) NOT NULL COMMENT '描述', PRIMARY KEY (`book_id`) ) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_general_ci; 

INSERT INTO `ssm`.`books` (`book_name`, `book_count`, `book_detail`) VALUES ('Java', '1', '从入门到放弃'); 
INSERT INTO `ssm`.`books` (`book_name`, `book_count`, `book_detail`) VALUES ('MySQL', '11', '从删库到跑路'); 
INSERT INTO `ssm`.`books` (`book_name`, `book_count`, `book_detail`) VALUES ('Linux', '5', 'j'); 

SELECT * FROM books LIMIT 0, 1000;


基本环境搭建

创建maven项目


image.png

pom.xml添加依赖,添加资源导出

<?xml version="1.0" encoding="UTF-8"?>

    4.0.0

    com.qing
    ssm
    1.0-SNAPSHOT

    
        
        
            junit
            junit
            4.13.2
        
        
        
            org.projectlombok
            lombok
            1.18.20
        
        
        
            mysql
            mysql-connector-java
            5.1.49
        
        
        
            com.mchange
            c3p0
            0.9.5.5
        
        
        
            javax.servlet
            servlet-api
            2.5
        
        
        
            javax.servlet.jsp
            jsp-api
            2.2
        
        
        
            javax.servlet
            jstl
            1.2
        
        
        
            org.mybatis
            mybatis
            3.5.7
        
        
        
            org.mybatis
            mybatis-spring
            2.0.6
        
        
        
            org.springframework
            spring-webmvc
            5.3.9
        
        
        
            org.springframework
            spring-jdbc
            5.3.9
        
        
        
            org.aspectj
            aspectjweaver
            1.9.7
            runtime
        

    

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

idea连接数据库


image.png

提交项目到Git

git@gitee.com:wl3pbzhyq/ssm.git

创建基础包


创建配置文件


db.properties

driver=com.mysql.jdbc.Driver
# 如果使用的是MySQL8.0+,增加一个时区的配置:&serverTimezone=Asia/Shanghai
url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8
username=root
password=123456

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>




    
        
        
        
    

    
    
        
    


applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>





创建实体类

package com.qing.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Books {
    private int bookId;
    private String bookName;
    private int bookCount;
    private String bookDetail;
}

创建Mapper接口和Mapper.xml

package com.qing.dao;

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

import java.util.List;

public interface BooksMapper {

    /**
     * 新增书
     * @param books
     * @return
     */
    int add(Books books);

    /**
     * 根据Id删除书
     * @param bookId
     * @return
     */
    int deleteById(@Param("bookId") int bookId);

    /**
     * 修改书
     * @param books
     * @return
     */
    int update(Books books);

    /**
     * 根据Id获取书
     * @param bookId
     * @return
     */
    Books getBooksById(@Param("bookId") int bookId);

    /**
     * 获取全部书
     * @return
     */
    List listBooks();
}

<?xml version="1.0" encoding="UTF-8" ?>



    
    
        insert into ssm.books(book_name, book_count, book_detail)
        values (#{bookName},#{bookCount},#{bookDetail})
    
    
    
        delete from ssm.books where book_id = #{bookId}
    
    
    
        update ssm.books
        set book_name=#{bookName},book_count=#{bookCount},book_detail=#{bookDetail}
        where book_id=#{bookId}
    
    
             select * from ssm.books         where book_id=#{bookId}     
    
             select * from ssm.books     

注册Mapper到mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>




    
        
    

    
    
        
    

    
    
        
    


创建Service接口和实现类

package com.qing.service;

import com.qing.pojo.Books;

import java.util.List;

public interface BooksService {
    /**
     * 新增书
     * @param books
     * @return
     */
    int add(Books books);

    /**
     * 根据Id删除书
     * @param bookId
     * @return
     */
    int deleteById(int bookId);

    /**
     * 修改书
     * @param books
     * @return
     */
    int update(Books books);

    /**
     * 根据Id获取书
     * @param bookId
     * @return
     */
    Books getBooksById(int bookId);

    /**
     * 获取全部书
     * @return
     */
    List listBooks();
}

package com.qing.service;

import com.qing.dao.BooksMapper;
import com.qing.pojo.Books;

import java.util.List;

public class BooksServiceImpl implements BooksService {

    // service调dao层,组合Dao
    private BooksMapper booksMapper;

    public void setBooksMapper(BooksMapper booksMapper) {
        this.booksMapper = booksMapper;
    }

    public int add(Books books) {
        return booksMapper.add(books);
    }

    public int deleteById(int bookId) {
        return booksMapper.deleteById(bookId);
    }

    public int update(Books books) {
        return booksMapper.update(books);
    }

    public Books getBooksById(int bookId) {
        return booksMapper.getBooksById(bookId);
    }

    public List listBooks() {
        return booksMapper.listBooks();
    }
}

Spring配置文件


创建配置文件 spring-dao.xml

<?xml version="1.0" encoding="UTF-8"?>


    
    

    
    
        
        
        
        

        
        
        
        
        
        
        
        
        
    

    
    
        
        
        
    

    
    
        
        
        
        
    


创建配置文件 spring-service.xml

<?xml version="1.0" encoding="UTF-8"?>


    
    

    
    
        
    

    
    
        
        
    

    
    
    
    
        
        
        
            
        
    

    
    
        
        
    


创建配置文件 spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>


    
    
    
    
    
    
    
    
        
        
    


applicationContext.xml导入spring-dao.xml spring-service.xml spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>


    
    
    


项目添加web框架支持


image.png

配置web.xml

<?xml version="1.0" encoding="UTF-8"?>


    
    
        spingmvc
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:applicationContext.xml
        
        1
    
    
        spingmvc
        /
    
    
    
    
        encodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            utf-8
        
    
    
        encodingFilter
        /*
    

    
        15
    

创建Controller

package com.qing.controller;

import com.qing.pojo.Books;
import com.qing.service.BooksService;
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("/books")
public class BooksController {

    @Autowired
    @Qualifier("BookServiceImpl")
    private BooksService booksService;

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

创建首页和书库页

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

  
    
  
  
  

进入书库

<%@ 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.bookCount}${book.bookDetail}

Artifacts中WEB-INF下创建lib,并选择jar


配置Tomcat,并测试


image.png
image.png

www.zuowenge.cn
www.awaedu.com
www.sobd.cc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值