一、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. 用mybatis做数据库处理 代码中的字段大小写 要和mapper映射设置的大小写一致(这TM不废话么,原谅我渣!~~)

    简单描述情况:其实这个问题怎么说呢,有人给你说,你肯定能意识到,必须大小写对应的嘛.emmmm我现在才意识到是因为:自己在下边敲代码,配的mapper文件并没有把属性变量,和数据库里的段单独提出来做映 ...

  2. Java 获取当前系统的时间

    获取当前系统的时间,每隔一秒,打印一次. import java.util.Date; public class TestDate { public static void main(String[] ...

  3. add web server(nginx)

    #!/bin/bash # # Web Server Install Script # Last Updated 2012.09.24 # ##### modify by WanJie 2012.09 ...

  4. git如何创建 .gitignore文件

    1.右键 点击git bash here 2.输入 touch .gitignore 生成 .gitignore文件 过滤 不上传 node_modules/

  5. 复习reactnative....

    import React, { Component } from 'react'; import { AppRegistry, Text, Image, View, TextInput, Scroll ...

  6. android开发默认图标怎么换?

    首先要在资源文件放入想换的图标图片拖到drawable-XX文件夹下, 然后打开AndroidManifest.xml这个配置清单文件找 到application标签里的这句android:icon= ...

  7. zookeeper都有哪些使用场景

    分布式协调 这个其实是zk很经典的一个用法,比如,A系统发送个请求到mq,然后B拿到消息消费之后处理了.那A系统如何知道B系统的处理结果? 用zk就可以实现分布式系统之间的协调工作.A系统发送请求之后 ...

  8. 发送Json数据,WebApi查看时为Null的问题(已解决)

     1. PostMan :发送请求的Body中选择form-data是不行的.,body中的内容也要选择raw json格式.   2.如果是代码中填写的对象,api中解析为null,说明字段的值未对 ...

  9. 次小生成树(POJ1679/CDOJ1959)

    POJ1679 首先求出最小生成树,记录权值之和为MinST.然后枚举添加边(u,v),加上后必形成一个环,找到环上非(u,v)边的权值最大的边,把它删除,计算当前生成树的权值之和,取所有枚举加边后生 ...

  10. 【CF662C】Binary Table(FWT)

    [CF662C]Binary Table(FWT) 题面 洛谷 CF 翻译: 有一个\(n*m\)的表格(\(n<=20,m<=10^5\)), 每个表格里面有一个\(0/1\), 每次可 ...