目录
一.建立Spring boot 项目
1.【File】→【New】→【Project】
2.选择 【Spring Initialize】
3.依据自身情况选择相关配置信息
Group: 一般是公司域名
4.选择需要的依赖
Lombok
Spring Web
Spring Data JPA
MS SQL Server Driver
5.建项目,设置存放地址
Package:不能有下划线
6.创建完成
二.建立数据库连接(非必须)
1.建立数据库连接
2.输入数据库相关信息
3.连接完成
三.修改配置文件
1.重命名
2.配置信息
server:
port: 7676
spring:
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
url: jdbc:sqlserver://192.168.200.126;database=DEMO
username: sa
password: rd.123456
jpa:
database: sql_server
show-sql: true
hibernate:
ddl-auto: update
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
server:
port: 8080
spring:
# 配置数据源信息
datasource:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot?serverTimezone=Asia/Shanghai&characterEncoding=utf-8
username: root
password: root
jpa:
show-sql: true # 默认false,在日志里显示执行的sql语句
database: mysql
hibernate.ddl-auto: update
#指定为update,每次启动项目检测表结构有变化的时候会新增字段,表不存在时会新建,如果指定create,则每次启动项目都会清空数据并删除表,再新建
properties.hibernate.dialect: org.hibernate.dialect.MySQL5Dialect
# 使用JPA创建表时,默认使用的存储引擎是MyISAM,通过指定数据库版本,可以使用InnoDB
database-platform: org.hibernate.dialect.MySQL5Dialect
hibernate:
naming:
#指定jpa的自动表生成策略,驼峰自动映射为下划线格式
implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
#physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
四.Entity类
@Data
Lombok 的 注释,省略 set()/get()
@Entity
JPA ,声明JPA 关联
@Table(name=”TABLENAME”)
JPA ,表名
@Column(name = "NAME",length = 30)
JPA ,列名
@GeneratedValue(strategy = GenerationType.IDENTITY)
自增
@Id
主键
package com.example.demo.entity;
import lombok.Data;
import javax.persistence.*;
/**
* @author h
*/
@Data
@Entity
@Table(name = "BOOK")
public class Book {
/**
* 自增 @GeneratedValue(strategy = GenerationType.IDENTITY)
* 主键 @Id
*/
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
@Column(name = "ID",length = 20)
private Long id;
@Column(name = "NAME",length = 30)
private String name;
@Column(name = "PRICE",length = 10)
private Float price;
}
五.Repository类
创建接口interface,继承extends接口JpaRepository<T, ID>
package com.example.demo.repository;
import com.example.demo.entity.Book;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* @author h
* 创建接口
* 继承接口 :JpaRepository<Book, Long>
*/
public interface BookRepository extends JpaRepository<Book, Long>{
}
六.Controller类
@Resource 注入 Repository
后调用
package com.example.demo.controller;
import com.example.demo.entity.Book;
import com.example.demo.repository.BookRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @author h
*/
@RestController
@RequestMapping("/api")
@Slf4j
public class BookController {
@Resource
private BookRepository bookRepository;
@GetMapping("/demo/getBook/{name}")
public List<Book> getBook(@PathVariable String name) {
log.info("getBook: " + name);
return bookRepository.findAll();
}
@PostMapping("/demo/addBook/")
public Book getBook(Book entity) {
log.info("getBook: " + entity);
return bookRepository.save(entity);
}
}
完成 一个 SpringBoot + jpa + mysql 或 sqlServer 的后台
感谢贵宏哥的指导