首页 > 代码库 > maven 构建spring boot + mysql 的基础项目
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.Driverspring.datasource.url=jdbc:mysql://localhost:3306/sbtestspring.datasource.username=rootspring.datasource.password=1234spring.jpa.database=mysqlspring.jpa.show-sql=truespring.jpa.hibernate.ddl-auto=updatespring.jpa.hibernate.naming.strategy=org.hibernate.cfg.ImprovedNamingStrategy
三、建立Entity和Repository
1、Book 实体类
package com.casic.entity;import javax.persistence.*;import java.util.List;@Entitypublic 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;@Entitypublic 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;@Entitypublic 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.*;@Entitypublic 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;@Repositorypublic 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 */@Componentpublic 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;@SpringBootApplicationpublic class MyApp{ public static void main(String args[]) { SpringApplication.run(MyApp.class, args); }}
maven 构建spring boot + mysql 的基础项目
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。