【SpringBoot】IDEA 创建 JAVA_JPA项目

本文介绍了如何创建一个SpringBoot项目,包括选择SpringInitializer,配置数据库连接(以MySQL为例),修改配置文件,定义Entity、Repository和Controller类。通过示例展示了创建Book实体、BookRepository接口和BookController,实现数据操作。这是一个SpringBoot结合JPA与MySQL的后台系统基础搭建教程。
摘要由CSDN通过智能技术生成

目录

一.建立Spring boot 项目

1.【File】→【New】→【Project】

2.选择 【Spring Initialize】

3.依据自身情况选择相关配置信息

4.选择需要的依赖

5.建项目,设置存放地址

6.创建完成

二.建立数据库连接(非必须)

1.建立数据库连接

2.输入数据库相关信息

3.连接完成

三.修改配置文件

1.重命名

2.配置信息

四.Entity类

五.Repository类

六.Controller类


一.建立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 的后台

感谢贵宏哥的指导

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值