需要创建相应的包与文件夹

Book数据表作为本示例数据

搭建项目开始

首先有bean后

  private int id;
private String name;
private int cnt;

第一步拿到业务需求(查询全部书籍信息)

需要写上注解

package com.gdnf.ssm.dao;

import com.gdnf.ssm.entity.Book;
import org.springframework.stereotype.Repository; import java.util.List; @Repository
public interface BookDAO { List<Book> getBookAll(); }

在service包下面创建接口

package com.gdnf.ssm.service;

import com.gdnf.ssm.entity.Book;

import java.util.List;

public interface BookService {

    List<Book> getBookAll();

}

创建实现类

package com.gdnf.ssm.service;

import com.gdnf.ssm.dao.BookDAO;
import com.gdnf.ssm.entity.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import java.util.List; @Service
public class BookServiceImpl implements BookService {
@Autowired
BookDAO bookDAO = null; @Override
public List<Book> getBookAll() {
return bookDAO.getBookAll();
} }

web包下面处理请求调用的方法

package com.gdnf.ssm.web;

import com.gdnf.ssm.dao.BookDAO;
import com.gdnf.ssm.entity.Book;
import com.gdnf.ssm.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView; import javax.xml.ws.RequestWrapper;
import java.util.List; @Controller
public class BookController {
@Autowired
private BookService bookService; @Autowired
private BookDAO bookDAO; //请求路径
@RequestMapping("/bookAll")
public String getBookAll(Model model) {
List<Book> bookAll = bookService.getBookAll();
model.addAttribute("books", bookAll);
return "book_list";
}
}

为什么返回String ?看下图

会直接通过配置好的文件找到页面

随后创建文件夹>创建包>数据库交互层

看代码吧 我编不下去了

属性

parameterType输入参数类型,resultType为返回参数类型
写入参数格式 #{参数名} 可防注入
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.gdnf.ssm.dao.BookDAO"> <select id="getBookAll" resultType="com.gdnf.ssm.entity.Book" >
select * from book
</select> </mapper>

然后编写前端渲染

 
<%--
Created by IntelliJ IDEA.
User: DZ
Date: 2018/9/26
Time: 15:24
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<title>书籍详情</title>
</head>
<!-- CSS goes in the document HEAD or added to your external stylesheet -->
<style type="text/css">
table.hovertable {
font-family: 宋体;
font-size: 18px;
color:#333333;
border-width: 1px;
border-color: #999999;
border-collapse: collapse;
}
table.hovertable th {
background-color:#c3dde0;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
}
table.hovertable tr {
background-color:#d4e3e5;
}
table.hovertable td { border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
}
</style>
<body>
<a href="/book">添加书籍</a>
所有书籍: <table class="hovertable" align = "center" width="450">
<thead>
<tr>
<th>编号</th>
<th>书名</th>
<th>库存</th>
<th>其他</th>
</tr>
</thead> <tbody>
<c:forEach items="${books}" var="book">
<tr>
<td>${book.id}</td>
<td>${book.name}</td>
<td>${book.cnt}</td>
<td></td>
</tr>
</c:forEach>
</tbody> </table>
<script !src=""> </script>
</body>
</html>

服务器启动后输入地址

结果:

接入上一篇SSM框架整合示例的更多相关文章

  1. 一篇SSM框架整合友好的文章(一)

    转载请标明出处: http://blog.csdn.net/forezp/article/details/53730333 本文出自方志朋的博客 最近实在太忙,之前写的<rxjava系列文章&g ...

  2. 一篇SSM框架整合友好的文章(二)

    上一篇讲述了DAO 层,mybatis实现数据库的连接,DAO层接口设计,以及mybtis和spring的整合.DAO层采用接口设计方式实现,接口和SQL实现的分离,方便维护.DAO层所负责的仅仅是接 ...

  3. 一篇SSM框架整合友好的文章(三)

    ###一.SpringMVC理论 它始终是围绕 handler. 数据模型 model. 页面view进行开发的. 运行流程图: 通过mvc配置文件,配置"中央处理器"dispat ...

  4. SSM框架整合环境构建——基于Spring4和Mybatis3

    目录 环境 配置说明 所需jar包 配置db.properties 配置log4j.properties 配置spring.xml 配置mybatis-spring.xml 配置springmvc.x ...

  5. SpringMVC札集(10)——SSM框架整合

    自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...

  6. ssm框架整合-过程总结(第二次周总结)

    距离上次写博客已经有4.5天的时间了. 这次写博客目的是总结一下项目开始到现在,过程中遇到的问题.和学到的知识.经验. 初略总结下自己从中学到的: Spring :在学习中被反复强调的Ioc(反转控制 ...

  7. SpringMVC--从理解SpringMVC执行流程到SSM框架整合

    前言 SpringMVC框架是SSM框架中继Spring另一个重要的框架,那么什么是SpringMVC,如何用SpringMVC来整合SSM框架呢?下面让我们详细的了解一下. 注:在学习SpringM ...

  8. 基于maven的ssm框架整合

    基于maven的ssm框架整合 第一步:通过maven建立一个web项目.                第二步:pom文件导入jar包                              (1 ...

  9. JavaWeb之ssm框架整合,用户角色权限管理

    SSM框架整合 Spring SpringMVC MyBatis 导包: 1, spring 2, MyBatis 3, mybatis-spring 4, fastjson 5, aspectwea ...

随机推荐

  1. Linux工具之ss

    1.SS命令 (Socket   Statistics),获取socket统计信息,显示和netstat类似的内容.显示更详细的TCP连接信息.   命令功能: ss(Socket Statistic ...

  2. linux基础—课堂随笔08_进程(转)

    进程优先级 命令 pstree -p 显示各个子线程 ps 进程状态(process state) UNIX风格:ps -ef BSD风格:ps aux 还有用到o参数,选项显示定制的信息: pid. ...

  3. Beta冲刺版本第二天

    该作业所属课程:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2 作业要求地址:https://edu.cnblogs.com ...

  4. npm run build后如何打开index.html跑起项目

    Tip: built files are meant to be served over an HTTP server.   Opening index.html over file:// won't ...

  5. python+Appium自动化:各种元素定位方法

    name定位 driver.find_element_by_name('飞利浦净水').click() 测试结果报错:selenium.common.exceptions.InvalidSelecto ...

  6. 34.第一次只出现一次的字符(python)

    题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).   两次遍历,第一次存放字 ...

  7. [Python之路] 实现简易HTTP服务器与MINI WEB框架(利用WSGI实现服务器与框架解耦)

    本文描述如果简单实现自定义Web服务器与自定义简易框架,并且不断进行版本迭代,从而清晰的展现服务器与Web框架之间是如何结合.如何配合工作的.以及WSGI是什么. 本文帖的代码有点多,但基本每次迭代修 ...

  8. JVM(九),垃圾回收回收算法

    九.垃圾回收回收算法 1.标记-清除(Mark and Sweep) 缺点是内存空间碎片化太严重 2.复制算法(Copying) (1)复制算法介绍 (2)复制算法优势 3.标记-整理算法(Compa ...

  9. 90%的人说Python程序慢,5大神招让你的代码像赛车一样跑起来

    1.for 循环 我们大部分的时候代码里面都有for循环,然后里面嵌套一段逻辑处理,下面有两种方法来完成: 二者的性能差距有多大呢,一般我们用内置的timeit模块来量化比较: 把传统的for改成推导 ...

  10. Work Queues(工作队列)

    1.模型 2.创建生产者 package com.dwz.rabbitmq.work; import java.io.IOException; import java.util.concurrent. ...