美文网首页
Spring Data JPA综合练习

Spring Data JPA综合练习

作者: 逍遥_6b76 | 来源:发表于2018-09-20 19:46 被阅读0次

(ps:将数据库内容返回到web页面)

1.pom.xml

<!-- Web 依赖 -->

org.springframework.boot

spring-boot-starter-web

<!-- 模板引擎 Thymeleaf 依赖 -->

org.springframework.boot

spring-boot-starter-thymeleaf

<!-- mysql驱动 依赖 -->

mysql

mysql-connector-java

<!-- spring-data-jpa 依赖 -->

org.springframework.boot

spring-boot-starter-data-jpa

<!-- lombok 依赖 -->

org.projectlombok

lombok

2.application.properties

############################

###数据库配置信息

############################

##基础信息

spring.datasource.url=jdbc:mysql://localhost:3306/springboot_test?useUnicode=true&characterEncoding=utf-8

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

##连接池中最大的活跃连接数

spring.datasource.tomcat.max-active=20

##连接池中最大、最小的空闲连接数

spring.datasoure.max-idle=8

spring.datasoure.min-idle=8

##初始化连接数

spring.datasoure.initial=10

############################

###Spring Data JPA配置信息

############################

spring.jpa.database=mysql

# 显示SQL语句

spring.jpa.show-sql=true

##指定DDL mode (none, validate, update, create, create-drop)

spring.jpa.properties.hibernate.hbm2ddl.auto=update

spring.thymeleaf.cache=false

3.entity

packagecom.example.springdatajpa.entity;

importlombok.Data;

importjavax.persistence.Entity;

importjavax.persistence.GeneratedValue;

importjavax.persistence.Id;

importjava.io.Serializable;

/**

* 创建Student持久化类

* 1.使用@Entity注解实现实体类的持久化,JPA检测到之后,可以在数据库中生成对应的表

* 2.使用@Id指定主键

* 3.使用@GeneratedValue指定主键策略,mysql默认自增

* 4.使用@Data简化get/set

*/

@Entity

@Data

publicclassBookimplementsSerializable{

@Id

@GeneratedValue

privateLong id;//编号

privateString name;//书名

privateString writer;//作者

privateString introduction;//简介

}

4.dao

package com.example.springdatajpa.dao;

import com.example.springdatajpa.entity.Book;

import org.springframework.data.jpa.repository.JpaRepository;

/**

* Book 数据持久层操作接口

*/

public interface BookRepository extends JpaRepository<Book, Long> {

}

5.service及实现

package com.example.springdatajpa.service;

import com.example.springdatajpa.entity.Book;

importjava.util.List;

/**

* Book 业务接口层

*/

public interfaceBookService {

/**

    * 获取所有 Book

    */

List

/**

    * 获取 Book

    *

    * @param id 编号

    */

Book findById(Long id);

}

package com.example.springdatajpa.service.impl;

import com.example.springdatajpa.dao.BookRepository;

import com.example.springdatajpa.entity.Book;

import com.example.springdatajpa.service.BookService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import java.util.List;

/**

* Book 业务层实现

*/

@Service

public class BookServiceImpl implements BookService {

@Autowired

    BookRepository bookRepository;

@Override

    public List<Book> findAll() {

        return bookRepository.findAll();

    }

@Override

    public Book findById(Long id) {

        return bookRepository.findById(id).get();

    }

}

6.controller

packagecom.example.springdatajpa.controller;

importcom.example.springdatajpa.entity.Book;

importcom.example.springdatajpa.service.BookService;

importorg.springframework.stereotype.Controller;

importorg.springframework.ui.ModelMap;

importorg.springframework.web.bind.annotation.*;

importjavax.annotation.Resource;

/**

* Book 控制层

*/

@Controller

@RequestMapping(value = "/book")

publicclassBookController{

privatestaticfinalString BOOK_DETAIL_PATH_NAME ="bookDetail";

privatestaticfinalString BOOK_LIST_PATH_NAME ="bookList";

@Resource

    BookService bookService;

/**

    * 获取 Book 列表

    * 处理 "/book/all" 的 GET 请求,用来获取 Book 列表

    * 数据存入ModelMap,返回Thymeleaf页面

    */

@GetMapping("/all")

publicString getBookList(ModelMap map) {

map.addAttribute("bookList", bookService.findAll());

returnBOOK_LIST_PATH_NAME;

    }

/**

    * 获取 Book

    * 处理 "/book/{id}" 的 GET 请求

    * 返回单个数据的模板页面

    */

@GetMapping(value = "/{id}")

publicString getBook(@PathVariableLongid, ModelMap map) {

map.addAttribute("book", bookService.findById(id));

returnBOOK_DETAIL_PATH_NAME;

    }

}

7.bookList.html页面写法

书籍列表

Spring Data JPA练习

书籍列表

书籍编号

书名

作者

简介

8.bookDetail.html页面写法

书籍详情

Spring Data JPA练习

书籍详情

9.运行效果

相关文章

网友评论

      本文标题:Spring Data JPA综合练习

      本文链接:https://www.haomeiwen.com/subject/tygnnftx.html