zoukankan      html  css  js  c++  java
  • 接入上一篇SSM框架整合示例

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

    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>

    服务器启动后输入地址

    结果:

  • 相关阅读:
    Azure 媒体服务的 RTMP 支持和实时编码器
    在_Linux_中如何使用_gdb_调试_C_程序
    你刚吃的兰州牛肉面,背后就藏着大数据
    《C++覆辙录》——1.9:使用糟糕的语言
    老司机带你用MaxCompute和表格存储玩转车联网数据
    快速部署rabbitMQ教程
    《第一本Docker书(修订版)》——1.3 能用Docker做什么
    《第一本Docker书(修订版)》——第1章_简介_1.1Docker简介
    【DockerCon2017最新技术解读】Docker最新特性介绍
    【DockerCon2017最新技术解读】如何在阿里云一键部署高可用的Kubernetes集群
  • 原文地址:https://www.cnblogs.com/dzcici/p/9712022.html
Copyright © 2011-2022 走看看