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

SSM整合

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

SSM整合

SSM-CRUD

Sam:SpringMVC+Spring+Mybatis

CRUD:

​ Create(创建)

​ Retrieve(查询)

​ Update(更新)

​ Delete(删除)

环境要求:

	+ Idea
	+ MySSQL
	+ Tomcat
	+ Maven

要求:

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

Mybatis层 1.数据库环境
DROP TABLE IF EXISTS `books`;

CREATE TABLE books (
bookID int NOT NULL COMMENT ‘书id’,
bookName varchar(100) NOT NULL COMMENT ‘书名’,
bookCounts int NOT NULL COMMENT ‘数量’,
detail varchar(200) NOT NULL COMMENT ‘描述’,
PRIMARY KEY (bookID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;


– Records of books


BEGIN;
INSERT INTO books VALUES (1001, ‘Java’, 1, ‘从入门到放弃’);
INSERT INTO books VALUES (1002, ‘MySQL’, 10, ‘从删库到炮路’);
INSERT INTO books VALUES (1003, ‘Linux’, 5, ‘从进门到进牢’);

2.基本环境搭建
  1. 新建—Maven项目!ssmbuild,添加web的支持

  2. 导入相关的pom依赖

    
        
        
            junit
            junit
            4.12
        
        
        
        
            mysql
            mysql-connector-java
            8.0.26
        
        
        
            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
            
        
    
    
  4. 建立基本结构和配置框架!

    • com.kuang.pojo

    • com.kuang.dao

    • com.kuang.service

    • com.kuang.controller

    • mybatis-config.xml

      
      
      
      
      
      
    • applicationContext.xml

      
      
      
      
      
3.Mybatis层编写

​ 1、数据课配置文件

database.properties

jdbc.dirver=com.mysql.jdbc.Driver
# 如果使用的是MySQL8.0以上的,增加一个时区的配置;&serverTimezone=Asia/Shanghai
jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=hgw6721224

​ 2、IDEA关联数据库

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

mybatis-config.xml





    

    
    
        
    

    
        
    

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

​ 使用lombok插件

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

​ 5、编写Dao层的Mapper接口

package com.kuang.dao;import com.kuang.pojo.Books;import org.apache.ibatis.annotations.Param;import java.util.List;public interface BookMapper {    //增加一本书    int addBoos(Books book);    //删除一本书    int deleteBookByID(@Param("bookId") int id);    //更新一本书    int updateBook(Books book);    //查询一本书    Books quertBookById(@Param("booId") int id);    //查询全部书    List queryAllBook();    //查询一本书(书名)    Books queryBookByName(@Param("bookName") String bookName);}

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

                INSERT INTO books (bookName, bookCounts, detail)        VALUES (#{bookName},#{bookCounts},#{detail});                delete from books where bookID = #{bookId}                update books        set bookName=#{bookName},bookCounts=#{bookCounts},detail=#{detail}        where bookID=#{bookID}                select *        from books;        

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

​ 接口:

package com.kuang.service;import com.kuang.pojo.Books;import java.util.List;public interface BookService {    //增加一本书    int addBoos(Books books);    //删除一本书    int deleteBookByID(int id);    //更新一本书    int updateBook(Books books);    //查询一本书    Books quertBookById(int id);    //查询全部书    List queryAllBook();}

​ 实现类:

package com.kuang.service;import com.kuang.dao.BookMapper;import com.kuang.pojo.Books;import java.util.List;public class BookServiceImpl implements BookService {    //service 调用 dao层: 组合Dao    private BookMapper bookMapper;    public void setBookMapper(BookMapper bookMapper) {        this.bookMapper = bookMapper;    }    public int addBoos(Books books) {        return bookMapper.addBoos(books);    }    public int deleteBookByID(int id) {        return bookMapper.deleteBookByID(id);    }    public int updateBook(Books books) {        return bookMapper.updateBook(books);    }    public Books quertBookById(int id) {        return bookMapper.quertBookById(id);    }    public List queryAllBook() {        return bookMapper.queryAllBook();    }}

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

Spring层 1.Spring整合MyBatis

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

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

                                                                                                                                                                                                                    
2.Spring整合service层

Spring-service.xml

                                                        

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

SpringMVC层

1、web.xml

                springmvc        org.springframework.web.servlet.DispatcherServlet                    contextConfigLocation            classpath:spring-mvc.xml                1                springmvc        /                    encodingFilter        org.springframework.web.filter.CharacterEncodingFilter                    encoding            utf-8                        encodingFilter        @Controller@RequestMapping("/book")public class BookController {    //controller 调用 service层    @Autowired    @Qualifier("BookServiceImpl")    private BookService bookService;    //查询全部的书籍,并且返回到一个书籍展示页面    @RequestMapping("/allBook")    public String list(Model model) {        List list = bookService.queryAllBook();        model.addAttribute("list", list);        return "allBook";    }    //跳转到增加书籍页面    @RequestMapping("/toAddBook")    public String toAddPage() {        return "addBook";    }    //添加书籍的请求    @RequestMapping("/addBook")    public String addBook(Books books) {        System.out.println("addBook=>" + books );        bookService.addBoos(books);        return "redirect:/book/allBook";    //重定向到我们的@RequestMapping("/allbook")请求;    }    //跳转到修改页面    @RequestMapping("/toUpdate")    public String toUpdatePaper(int id,Model model) {        Books books = bookService.quertBookById(id);        model.addAttribute("QBook", books);        return "updateBook";    }    //修改书籍    @RequestMapping("/updateBook")    public String updateBook(Books books) {        System.out.println("updateBook=>" + books );        int i = bookService.updateBook(books);        if (i>0) {            System.out.println("添加成功" + books);        }        List list = bookService.queryAllBook();        list.forEach(li-> System.out.println(li));        return "redirect:/book/allBook";    //重定向到我们的@RequestMapping("/allbook")请求;    }    //删除书籍    @RequestMapping("/deleteBook/{bookId}")    public String deleteBook(@PathVariable("bookId") int id){        bookService.deleteBookByID(id);        return "redirect:/book/allBook";    //重定向到我们的@RequestMapping("/allbook")请求;    }    //查询书籍    @RequestMapping("/queryBook")    public String queryBook(String queryBookName,Model model) {        Books books = bookService.queryBookByName(queryBookName);        List list = new ArrayList();        list.add(books);        if (books==null) {            list = bookService.queryAllBook();            model.addAttribute("error", "未查到");        }        model.addAttribute("list", list);        return "allBook";    }}
2.前端页面编写 index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>    首页            a{            text-decoration: none;            color: black;            font-size: 18px;        }        h3{            width: 180px;            height: 38px;            margin: 100px auto;            text-align: center;            line-height: 38px;            background: deepskyblue;            border-radius: 5px;        }        进入书籍页面
allBook.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ page contentType="text/html;charset=UTF-8" language="java" %>    书籍展示页面    <%--BootStrap美化界面--%>                                                                                        书籍列表 —— 显示所有书籍                                                                                                <%--toAddBook--%>                    新增书籍                    显示全部书籍                                                                    <%--查询书籍--%>                    
${error}
<%--书籍从数据库查询出来,从这个list中遍历出来:foreach--%>
书籍编号 书籍名称 书籍数量 书籍详情
${book.bookID} ${book.bookName} ${book.bookCounts} ${book.detail} 修改   |   删除
addBook.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>    增加书籍    <%--BootStrap美化界面--%>                                                                                        新增书籍                                                                
updateBook.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>    修改书籍    <%--BootStrap美化界面--%>                                                                修改书籍                                            
<%--出现的问题:我们提交了修改的SQL请求,但是修改失败,初次考虑,是事务问题,配置完毕事务,依旧失败!--%> <%--看一下SQl语句,能否执行成功:SQL失败,修改未完成--%> <%--前端传递隐藏域--%>
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/389751.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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