终于把整个ssm框架拉完了,还是比较透彻了,其实也谈不上透彻,最多也就只能算可以用"小黄鸭测试法"来自己看懂,然后简单的搭建也能完成吧,差不多目前掌握的就这样,在ssm框架上耽搁了太长的时间了.

最后的实现功能是在ssm的框架上实现的搜索功能,
主要实现html代码:

 <form action="<c:url value="/book/queryBook"/> " method="post" style="float: right"><div class="form-inline"><span style="color:red;font-weight: bold">${error}</span><input type="text" name="queryBookName" class="form-control" placeholder="请输入要查询的书籍名称"><input type="submit" value="查询" class="btn btn-primary"></div></form>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--Created by IntelliJ IDEA.User: 13721Date: 2021/5/7Time: 23:50To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title><style>a{text-decoration: none;color: black;font-size: 5px;}</style><link href="<c:url value="/webjars/bootstrap/4.6.0/css/bootstrap.min.css"/>" rel="stylesheet">
</head>
<body>
<div class="container"><div class="row clearfix"><div class="col-md-12 column"><div class="page-header"><h1><small>书籍列表-------显示所有书籍</small></h1></div></div><div class="col-md-4 column"><%-- 新增书籍 toAddbook 点击跳转到toAddBook--%><a href="${pageContext.request.contextPath}/book/toAddBook" class="btn btn-primary">新增书籍</a><a href="${pageContext.request.contextPath}/book/allBook" class="btn btn-primary">显示全部书籍</a></div><div class="col-md-4"></div><div class="col-md-4 column"><%-- 查询书籍--%><form action="<c:url value="/book/queryBook"/> " method="post" style="float: right"><div class="form-inline"><span style="color:red;font-weight: bold">${error}</span><input type="text" name="queryBookName" class="form-control" placeholder="请输入要查询的书籍名称"><input type="submit" value="查询" class="btn btn-primary"></div></form></div></div><div class="row clearfix"><div class="col-md-12 column"><table class="table table-hover table-striped"><thead><tr><th>书籍编号</th><th>书籍名称</th><th>书籍数量</th><th>书籍详解</th><th>操作</th></tr></thead>
<%--书籍从数据库中查询出来,从这个list中遍历出来:foreach--%><tbody><c:forEach var="books" items="${list}"><tr><td>${books.bookID}</td><td>${books.bookName}</td><td>${books.bookCounts}</td><td>${books.detail}</td><td><%--这句代码就很有趣就是把当前页面获取到的提交给修改页面去--%><a href="<c:url value="/book/toUpdate?id=${books.bookID}"/>">修改</a>&nbsp; | &nbsp;<a href="<c:url value="/book/deleteBook/${books.bookID}"/>">删除</a></td></tr></c:forEach></tbody></table></div>
</div>
</div>
</body>
</html>

而后对应的controller层的代码是:以下

//查询书籍@RequestMapping("/queryBook")public String queryBook(String queryBookName,Model model){Books books = bookService.queryBookByName(queryBookName);System.err.println("queryBook=>"+books);List<Books> list = new ArrayList<>();list.add(books);if (books ==null){list = bookService.queryAllBook();model.addAttribute("error","查询不到");}model.addAttribute("list",list);return "/allBook";}

记住还要写dao层的接口,还有接口的实现类,还有BookMapper的sql语句,这个这个语句自己用的模糊查询,细节还需仔细记住一下:

 <select id="queryBookByName" parameterType="String" resultType="Books">select * from  ssmbuild.books where bookName LIKE CONCAT('%',#{bookName},'%')</select>

还有就是service层了,service层的接口以及实现类也要把东西补上.

package cn.com.zzn.service;import cn.com.zzn.dao.BookMapper;
import cn.com.zzn.pojo.Books;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class BookServiceImpl implements BookService{//service:调用dao层 : 组合Dao@Autowired//这个注解跟这句代码一样<property name="bookMapper" ref="bookMapper"/><!--将bookMapper对象注入可以调用其任意方法-->private BookMapper bookMapper;public void setBookMapper(BookMapper bookMapper) {this.bookMapper = bookMapper;}@Overridepublic int addBook(Books books) {return bookMapper.addBook(books);}@Overridepublic int deleteBookById(int id) {return bookMapper.deleteBookById(id);}@Overridepublic int updateBookById(Books books) {return bookMapper.updateBookById(books);}@Overridepublic Books queryBookById(int id) {return bookMapper.queryBookById(id);}@Overridepublic List<Books> queryAllBook() {return bookMapper.queryAllBook();}@Overridepublic Books queryBookByName(String bookName) {return bookMapper.queryBookByName(bookName);}
}

关于ssm框架的整理(三) 2021-05-11相关推荐

  1. 关于ssm框架的整合(二) 2021.05.10

    对于上一章总结出来的是ssm框架的架子,就是配置文件这些,搭猪圈,这一节的整合是关于一些前端方向的,这一节的整合十分重要,主要是讲前后端的交互! 首先创建一个allBook.jsp文件,用的boost ...

  2. JavaWeb学习之路——SSM框架之Mybatis(三)

    数据库配置和相关类创建看上篇:JavaWeb学习之路--SSM框架之Mybatis(二) https://blog.csdn.net/kuishao1314aa/article/details/832 ...

  3. ajax请求整理(一) 2021.05.12

    关于整理Ajax请求的整理. ·····首先Ajax就是起一个异步不刷新页面的作用,就只是局部刷新,地址栏不变,归纳为一句话就是: ·····AJAX 是一种在无需重新加载整个网页的情况下,能够更新部 ...

  4. SSM框架配置文件整理

    目录 前言 1.pom依赖导入 2.数据库配置文件 3.Mybatis核心配置文件 4.Spring整合Mybatis 5.Spring整合Service层 6.Web配置文件 7.SpringMVC ...

  5. 2021.05.11丨COG分析柱状图绘制

    目录 摘要 环境与方法 文档准备 分类简称及描述 比对结果 使用代码 结果展示 总结 摘要 在RNA-seq项目中,需要将差异基因比对到各个数据库当中,生成相应的注释结果和图像,便于深度挖掘信息.CO ...

  6. SSM框架搭建(四) springmvc和mybatis的配置

    SSM框架搭建(一) JDK和MAVEN环境搭建 SSM框架搭建(二) 创建MAVEN项目 SSM框架搭建(三) 数据库创建和MyBatis生成器自动生成实体类.DAO接口和Mapping映射文件 S ...

  7. 微信小程序二手交易系统ssm框架——计算机毕业设计

    开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myecl ...

  8. 基于SSM框架的农大拼车微信小程序

    任何一个项目在开发研究前,都需要对研发系统本身的需求做一个认真的分析,市场的调研是不可忽视的,从实际场景中确定使用人员的功能需求,从而明确目标,对整个系统的开发有一个更加准确的定位,在这个章节,需要对 ...

  9. 基于微信小程序奶茶店在线点单管理系统ssm框架-计算机毕业设计

    面对目前奶茶店林立的现状,大城市奶茶店多为连锁奶茶店他们都有统一的管理和相应的系统.但是个别小县城和小城以及城区也有不少的奶茶店多为自营,这就必须店长自己管理和采购原料.大型连锁的奶茶店管理系统就不适 ...

最新文章

  1. 全球第三大手机操作系统!倒闭!
  2. qt下编写linux消息队列,C++11消息队列 + Qt线程池 + QRunnable执行任务简单模型
  3. 请编程实现:产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复(百度了一下,get一种高性能算法,非递归)...
  4. excel 树结构json_写一个上传excel表格,解析成 json 的接口
  5. 干货 | 携程数据库发布系统演进之路
  6. SDWebImage 4 0 迁移指南
  7. Cloud Prizefight: OpenStack vs. VMware(转)-HA-FT
  8. C# Gabbage Collecting System
  9. oracle 函数怎么个写法,Oracle表值函数的两种写法
  10. 用java写 java1,1,2,4,7,13,24,44算法
  11. 电子书下载:深入解析Windows操作系统第6版 Windows Internals 6th Part1, Part2
  12. php在线解密,zend在线解密
  13. 如何使用C4D的反射通道创建一个金属外观?
  14. 计算机基础实践教程world,实验16+计算机基础实验报告.docx
  15. PHP 每日学习函数之 floatval 函数
  16. 女性意识觉醒,内衣是为了舒适还是性感?
  17. discuz怎么自定义php,Discuz添加自定义数据调用模块
  18. 顶级黑客泄密事件啼笑皆非
  19. 惊了,MATLAB竟能制作如此方便的划词翻译工具???
  20. bat批处理延迟运行脚本(zz)

热门文章

  1. python debug工具_极简Python DeBug工具——PySnooper
  2. 实地址模式下的中断向量表
  3. 亿级Web系统负载均衡几种实现方式
  4. 【笔记】具有O-DU和O-RU的eNB / gNB架构
  5. PHP exec或system执行linux脚本或可执行文件不成功?权限不够。
  6. void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize);
  7. 【linux指令】sed指令
  8. 西安python_西安找工作|西安人才网|西安全职招聘信息-西安58同城
  9. linux a8启动过程,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  10. 对口计算机专业分数线,湖南省2021年普通高校招生本科批(职高对口类)平行一志愿投档分数线公布...