一、maven 依赖

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency> </dependencies>

二、配置文件 application.properties

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/sbtest
spring.datasource.username=root
spring.datasource.password=1234
spring.jpa.database=mysql
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.ImprovedNamingStrategy

三、建立Entity和Repository

1、Book 实体类

package com.casic.entity;

import javax.persistence.*;
import java.util.List; @Entity
public class Book {
@Id
@GeneratedValue
private Long id;
private String isbn;
private String title;
private String description; @ManyToOne
private Author author;
@ManyToOne
private Publisher publisher; @ManyToMany
private List<Reviewer> reviewers; protected Book() { } public Book(Author author, String isbn, Publisher publisher, String title) {
this.author = author;
this.isbn = isbn;
this.publisher = publisher;
this.title = title;
}
}

2、Author 实体类

package com.casic.entity;

import javax.persistence.*;
import java.util.List; @Entity
public class Author {
@Id
@GeneratedValue
private Long id;
private String firstName;
private String lastName;
@OneToMany(mappedBy = "author")
private List<Book> books; protected Author() { } public Author(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
}

3、Publisher 实体类

package com.casic.entity;

import javax.persistence.*;
import java.util.List; @Entity
public class Publisher {
@Id
@GeneratedValue
private Long id;
private String name; @OneToMany(mappedBy = "publisher")
private List<Book> books; protected Publisher() { } public Publisher(String name) {
this.name = name;
} }

4、Reviewer

package com.casic.entity;
import javax.persistence.*;
@Entity
public class Reviewer {
@Id
@GeneratedValue
private Long id;
private String firstName;
private String lastName; protected Reviewer() { } public Reviewer(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
}

5、BookRepository

package com.casic.repository;

import com.casic.entity.Book;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository; @Repository
public interface BookRepository extends CrudRepository<Book, Long> {
Book findBookByIsbn(String isbn);
}

6、MyStartupRunner 命令行启动类

package com.casic.service;

import com.casic.repository.BookRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component; /**
* 服务启动执行
* @author oftenlin
*/
@Component
public class MyStartupRunner implements CommandLineRunner { @Autowired
private BookRepository bookRepository;
@Override
public void run(String... args) throws Exception {
System.out.print("book count:"+bookRepository.count());
} }

7、启动类 MyApp

package com.casic;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer; @SpringBootApplication
public class MyApp{ public static void main(String args[]) {
SpringApplication.run(MyApp.class, args);
}
}

maven 构建spring boot + mysql 的基础项目的更多相关文章

  1. 使用Maven插件构建Spring Boot应用程序镜像

    使用Maven插件构建Spring Boot应用程序的Docker镜像. 环境准备 1.Linux系统 2.安装JDK,Maven 3.安装Docker 应用实践 1.在应用程序根目录下添加Docke ...

  2. Maven 搭建spring boot多模块项目(附源码),亲测可以,感谢原创

    原创地址:https://segmentfault.com/a/1190000005020589 我的DEMO码云地址,持续添加新功能: https://gitee.com/itbase/Spring ...

  3. 【docker-compose】使用docker-compose部署运行spring boot+mysql 【处理容器的时区问题】【详解】【福利:使用docker-compose构建 wordpress+mysql】

    ==================================================================================================== ...

  4. Maven 搭建spring boot多模块项目

    Maven 搭建spring boot多模块项目 备注:所有项目都在idea中创建 1.idea创建maven项目 1-1: 删除src,target目录,只保留pom.xml 1-2: 根目录pom ...

  5. Spring Boot 2.x基础教程:使用Swagger2构建强大的API文档

    随着前后端分离架构和微服务架构的流行,我们使用Spring Boot来构建RESTful API项目的场景越来越多.通常我们的一个RESTful API就有可能要服务于多个不同的开发人员或开发团队:I ...

  6. 利用Intellij+MAVEN搭建Spring+Mybatis+MySql+SpringMVC项目详解

    http://blog.csdn.net/noaman_wgs/article/details/53893948 利用Intellij+MAVEN搭建Spring+Mybatis+MySql+Spri ...

  7. Myeclipse下使用Maven搭建spring boot项目

    开发环境:Myeclipse2017.JDK1.6.Tomcat 8.0.Myeclipse下使用Maven搭建spring boot项目,详细过程如下: 1. New -> Project.. ...

  8. Spring Boot 2.x基础教程:Swagger静态文档的生成

    前言 通过之前的两篇关于Swagger入门以及具体使用细节的介绍之后,我们已经能够轻松地为Spring MVC的Web项目自动构建出API文档了.如果您还不熟悉这块,可以先阅读: Spring Boo ...

  9. Github点赞超多的Spring Boot学习教程+实战项目推荐!

    Github点赞接近 100k 的Spring Boot学习教程+实战项目推荐!   很明显的一个现象,除了一些老项目,现在 Java 后端项目基本都是基于 Spring Boot 进行开发,毕竟它这 ...

随机推荐

  1. LeetCode(88):合并两个有序数组

    Easy! 题目描述: 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素 ...

  2. 怎么编辑PDF,如何给PDF加水印

    在使用PDF文件的时候,往往会用到PDF编辑器来修改,那么,在使用PDF编辑器修改文件的时候,想要在文件中添加水印,这该怎么操作呢,不会的小伙伴可以看看下面的文章了哦,说不定就会了. 1.打开运行PD ...

  3. 常用ajax样例

    ---恢复内容开始--- // url(String):请求地址 // param(String):请求参数 // targetId(String):结果显示id function ajaxReq(u ...

  4. zoj3471 状态压缩dp基础

    /* dp[S]表示状态S下的最大收益,0表示没有了,1表示还在 */ #include<bits/stdc++.h> using namespace std; <<],mp[ ...

  5. cf1106E 线性dp+multiset

    之前看错题目了,以为父亲的选择时按最大收益来的.结果并不是 /*注意题目中说只要某个时间父亲可以取得红包,他就取硬币数最多同时耗时最小的那个就是不管后续如何,不一定满足最大收益 dp[i][j]表示时 ...

  6. Centos + docker,Ubuntu + docker介绍安装及详细使用

    docker笔记 常用命令 设置docker开机自启:sudo chkconfig docker on 查所有镜像: docker images 删除某个镜像:docker rmi CONTAINER ...

  7. Django复习

    django复习 django和其他框架的对比 django,集成很多功能的大型框架,为开发者提供了很多方便的组件:orm.form.ModelForm.auth.admin.contenttypes ...

  8. C++ Primer 笔记——嵌套类 局部类

    1.嵌套类是一个独立的类,与外层类基本没什么关系.特别的是,外层类的对象和嵌套类的对象是相互独立的.在嵌套类的对象中不包含任何外层类定义的成员,在外层类的对象中也不包含任何嵌套类定义的成员. 2.嵌套 ...

  9. fio 测试磁盘性能

    在磁盘测试中最关心的几个指标分别为: iops(每秒执行的IO次数).bw(带宽,每秒的吞吐量).lat(每次IO操作的延迟). 当每次IO操作的block较小时,如512bytes/4k/8k等,测 ...

  10. 论文阅读笔记六:FCN:Fully Convolutional Networks for Semantic Segmentation(CVPR2015)

    今天来看一看一个比较经典的语义分割网络,那就是FCN,全称如题,原英文论文网址:https://people.eecs.berkeley.edu/~jonlong/long_shelhamer_fcn ...