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

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>

服务器启动后输入地址

结果:

最新文章

  1. Software Testing hw2
  2. android view : 概述
  3. The error occurred while setting parameters--索引 3 超出范围 sqlserver2008
  4. 2013年8月份第2周51Aspx源码发布详情
  5. SQLserver Delete from where 与Oracle delete from where 的差异
  6. ASP的高效率的分页算法.net,php同样可以参考
  7. Lucene中string docvalues使用utf-16的优化
  8. zabbix_Agent 监控配置说明
  9. 关于NSKeyedArchiver的编码格式
  10. JVM的运行原理以及JDK 7增加的新特性(一)
  11. 理解特性attribute 和 属性property的区别 及相关DOM操作总结
  12. 指数加权移动平均法(EWMA)
  13. Dependency Walker使用说明 转载
  14. http协议进阶(六)代理
  15. css去除苹果默认样式
  16. 关于第一次java课的感想
  17. 【SpringMVC】文件上传Expected MultipartHttpServletRequest: is a MultipartResolver错误解决
  18. python 数据库连接及操作
  19. mvc模拟实现
  20. golang基础--细说defer

热门文章

  1. Vim技巧----光标移动
  2. Selenium(3)
  3. java线程基础巩固---同步代码块以及同步方法之间的区别和关系
  4. jenkins+docker+docker-compose持续集成
  5. DebuggerStepThrough特性(c#)
  6. MyBatis---join 查询
  7. UnexpectedRollbackException解决方案
  8. 解决git提交敏感信息(回退git版本库到某一个commit)
  9. Java mongodb api疑问之MongoCollection与DBCollection
  10. [学习笔记] 可持久化线段树&amp;主席树