基于SpringBoot搭建SSM项目

在idea中我们先创建好maven项目,导入好依赖包

pom.xml如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.10.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.xt</groupId>
    <artifactId>ssmboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>ssmboot</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <!-- druid数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.9</version>
        </dependency>
        <!-- thymeleaf模版引擎 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <!-- springBoot web 启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- mysql 驱动包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <!-- springBoot测试包-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- mybatis 与spirngboot整合 依赖包-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

接下来,在src目录下,新建如下目录

controller   dao  pojo  service

数据表

先在pojo中完成实体类的编写

Book.java如下

package com.xt.pojo;

import java.util.Date;
/**
 * book 实体
 * @author xz
 */
public class Book {
    private int bid;
    private String name;
    private Date credate;
    private  String note;

    public Book() {
    }

    public Book(int bid, String name, Date credate, String note) {
        this.bid = bid;
        this.name = name;
        this.credate = credate;
        this.note = note;
    }

    public int getBid() {
        return bid;
    }

    public void setBid(int bid) {
        this.bid = bid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Date getCredate() {
        return credate;
    }

    public void setCredate(Date credate) {
        this.credate = credate;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    @Override
    public String toString() {
        return "Book{" +
                "bid=" + bid +
                ", name='" + name + '\'' +
                ", credate=" + credate +
                ", note='" + note + '\'' +
                '}';
    }
}

接下来编写 dao层的mapper类

BookMapper.java中如下

package com.xt.dao;

import com.xt.pojo.Book;
import java.util.List;
/**
 * book dao 操作
 * @author xz
 */
public interface BookMapper {
     List<Book> selectAllBooks();
}

再来编写service层的

BookServiceI

package com.xt.service;

import com.xt.pojo.Book;

import java.util.List;

/**
 * book业务层
 * @author xz
 */
public interface BookServiceI {
    List<Book> getAllBook();
}

实现类

package com.xt.service.impl;

import com.xt.dao.BookMapper;
import com.xt.pojo.Book;
import com.xt.service.BookServiceI;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;

@Service
public class BookServiceImpl implements BookServiceI {
    @Resource
    private BookMapper bookDao;
    @Override
    public List<Book> getAllBook() {
        return bookDao.selectAllBooks();
    }
}

最后编写controller控制访问层

BookController

package com.xt.controller;

import com.xt.pojo.Book;
import com.xt.service.BookServiceI;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
import java.util.List;

/**
* 控制层 
* @author xz
*/
@Controller
@RequestMapping("/book")
public class BookController {
    @Resource
    private BookServiceI bookServiceImpl;
    
    /**
    * 获取所有图书信息,返回到list视图
    */
    @RequestMapping("/getAll")
    public String list(Model model){
        List<Book> list = bookServiceImpl.getAllBook();
        model.addAttribute("list",list);
        System.out.println(list);
        return "list";
    }
}

然后继续编写mapper文件  此处我将mapper文件放入到了resources目录下 

resouces下新建mapper文件夹,主要用来存放mapper文件

BookMapper.xml

<?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.xt.dao.BookMapper">
    <select id="selectAllBooks" resultType="book">
        select * from books
    </select>
</mapper>

接下来我们还需要配置springBoot的配置文件 

在resouces目录下的application.properties中 配置如下

#基础配置
server.port=8080

#数据库配置
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/booksystem

#配置指定的数据源
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

#配置指定 mapper  别名所在的实体包
mybatis.type-aliases-package=com.xt.pojo

#Mybatis mapper文件扫描
mybatis.mapper-locations=classpath*:mapper/*.xml

#指定 jpa的 database 类型
#spring.jpa.database=MYSQL

#开启jpa的 sql显示
#spring.jpa.show-sql=true

#指定dao的sql显示
logging.level.com.xt.dao=debug

最后,只有list视图没有编写,一般的 视图页面我们都放在resoueces下的templates目录下

新建 list.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8"/>
    <title>展示所有图书列表</title>
</head>
<body>
    <table align="center">
           <tr align="center">
               <td>ID</td>
               <td>名称</td>
               <td>日期</td>
               <td>描述</td>
           </tr>
            <tr th:each="book : ${list}" style="width: auto;" align="center">
                    <td th:text="${book.bid}"></td>
                    <td th:text="${book.name}"></td>
                    <td th:text="${#calendars.format(book.credate,'yyyy-MM-dd')}"></td>
                    <td th:text="${book.note}"></td>
            </tr>
    </table>
</body>
</html>

这里用到的是 thymleaf模版

最终resouces目录如下

编写SpringBoot启动器

package com.xt;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
@MapperScan("com.xt.dao")//扫描mapper
public class SSMApplication {
    public static void main(String[] args) {
        SpringApplication.run(SSMApplication.class,args);
    }
}

启动main方法,访问页面

到此 SpringBoot启动SSM项目完毕

猜你喜欢

转载自blog.csdn.net/xiezhi_1130/article/details/84983906