maven 构建spring boot + mysql 的基础项目
一、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 的基础项目的更多相关文章
- 使用Maven插件构建Spring Boot应用程序镜像
使用Maven插件构建Spring Boot应用程序的Docker镜像. 环境准备 1.Linux系统 2.安装JDK,Maven 3.安装Docker 应用实践 1.在应用程序根目录下添加Docke ...
- Maven 搭建spring boot多模块项目(附源码),亲测可以,感谢原创
原创地址:https://segmentfault.com/a/1190000005020589 我的DEMO码云地址,持续添加新功能: https://gitee.com/itbase/Spring ...
- 【docker-compose】使用docker-compose部署运行spring boot+mysql 【处理容器的时区问题】【详解】【福利:使用docker-compose构建 wordpress+mysql】
==================================================================================================== ...
- Maven 搭建spring boot多模块项目
Maven 搭建spring boot多模块项目 备注:所有项目都在idea中创建 1.idea创建maven项目 1-1: 删除src,target目录,只保留pom.xml 1-2: 根目录pom ...
- Spring Boot 2.x基础教程:使用Swagger2构建强大的API文档
随着前后端分离架构和微服务架构的流行,我们使用Spring Boot来构建RESTful API项目的场景越来越多.通常我们的一个RESTful API就有可能要服务于多个不同的开发人员或开发团队:I ...
- 利用Intellij+MAVEN搭建Spring+Mybatis+MySql+SpringMVC项目详解
http://blog.csdn.net/noaman_wgs/article/details/53893948 利用Intellij+MAVEN搭建Spring+Mybatis+MySql+Spri ...
- Myeclipse下使用Maven搭建spring boot项目
开发环境:Myeclipse2017.JDK1.6.Tomcat 8.0.Myeclipse下使用Maven搭建spring boot项目,详细过程如下: 1. New -> Project.. ...
- Spring Boot 2.x基础教程:Swagger静态文档的生成
前言 通过之前的两篇关于Swagger入门以及具体使用细节的介绍之后,我们已经能够轻松地为Spring MVC的Web项目自动构建出API文档了.如果您还不熟悉这块,可以先阅读: Spring Boo ...
- Github点赞超多的Spring Boot学习教程+实战项目推荐!
Github点赞接近 100k 的Spring Boot学习教程+实战项目推荐! 很明显的一个现象,除了一些老项目,现在 Java 后端项目基本都是基于 Spring Boot 进行开发,毕竟它这 ...
随机推荐
- 复习os模块常用的一些操作
import os # 1.切换路径============= d = os.getcwd() #获取当前的工作路径 os.chdir('D:\\')#目录的切换 print(os.getcwd()) ...
- linux基础实操四
实操一: 1)为新加的硬盘分区,一个主分区大小为10剩余空间给扩展分区,在扩展分区上划分2个逻辑分别为5G 2)式化主分区为ext3系统 #mkfs.ext3 /dev/sdb1 3 将逻辑分区设置为 ...
- hdu4276 依赖背包
网上题解都是用spfa求1-n路径的,但其实dfs一次就可以了.. #include <iostream> #include <cstdio> #include <str ...
- CF1015F
玄学字符串dp... 题意:给定一个括号序列,求长度为2n的合法的括号序列的个数(要求每个被统计的合法序列中均至少有一个子串为给定的括号序列) 题解: 这题没有想的那么复杂,就是暴力的一个dp 首先我 ...
- 支付宝(查询对账单下载地址(alipay.data.dataservice.bill.downloadurl.query))
通过url下载zip对账单文件,进行解压,读取压缩文件内容. import java.io.BufferedOutputStream; import java.io.BufferedReader; i ...
- this容易混淆的示例
[注]this 永远不会混乱,混乱的是我们而已. /* this永远指向当前函数的主人. this混乱: 1.添加了定时器/延时器 2.事件绑定 [注]函数如果发生了赋值,this就混乱了. */ 示 ...
- springboot动态多数据源切换
application-test.properties #datasource -- mysql multiple.datasource.master.url=jdbc:mysql://localho ...
- echarts + timeline 显示多个options
var option = { //timeline基本配置都写在baseoption 中 baseOption: { timeline: { //loop: false, axisType: 'cat ...
- HTTP协议请求头信息和响应头信息
阅读目录 http的请求部分 常用请头信息 常用响应头信息 http的请求部分 基本结构 请求行 GET /test/hello.html HTTP/1.1 消息头(并不是每一次请求都一样) 空行 ...
- 磁盘修改AF
请严格按照如下流程: 1 以管理员打开 硬盘安装助手 2 选择苹果Mac系统镜像 (cdr格式的) 3 直接选择要写入的盘,不要点击右边的方框中的勾选 (此时就可以写入了,虽然最后还是显示 Chang ...