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项目

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

<?xml version="1.0" encoding="UTF-8"?>4.0.0com.qingssm1.0-SNAPSHOTjunitjunit4.13.2org.projectlomboklombok1.18.20mysqlmysql-connector-java5.1.49com.mchangec3p00.9.5.5javax.servletservlet-api2.5javax.servlet.jspjsp-api2.2javax.servletjstl1.2org.mybatismybatis3.5.7org.mybatismybatis-spring2.0.6org.springframeworkspring-webmvc5.3.9org.springframeworkspring-jdbc5.3.9org.aspectjaspectjweaver1.9.7runtimesrc/main/resources**/*.properties**/*.xmltruesrc/main/java**/*.properties**/*.xmltrue

idea连接数据库

提交项目到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
     */
    ListlistBooks();
}
<?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
     */
    ListlistBooks();
}
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 ListlistBooks() {
        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框架支持

配置web.xml

<?xml version="1.0" encoding="UTF-8"?>spingmvcorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:applicationContext.xml1spingmvc/encodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingutf-8encodingFilter/*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) {
        Listlist = 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,并测试

(0)

相关推荐