[SpringBoot+Jpa框架搭建 ]

这篇具有很好参考价值的文章主要介绍了[SpringBoot+Jpa框架搭建 ]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 🌄方式一:Spring Initializr 的 Web页面创建项目

 🌄方式二:使用 IDEA 创建项目

 🌄创建一个新的Spring Boot项目

 🌄编写实体类

 🌄创建一个Spring Boot控制器

 🌄创建UserRepository

 🌄创建异常类

 🌄配置应用程序

 🌄运行DemoApplication.java中的main方法,启动应用程序。


 🌄方式一: Spring Initializr 的 Web页面创建项目

  • 1、打开 https://start.spring.io/
  • 2、填写项目信息
  • 3、点击”Generate Project“按钮生成项目;下载此项目
  • 4、解压项目包,并用IDEA以Maven项目导入,一路下一步即可,直到项目导入完毕。
  • 5、如果是第一次使用,可能速度会比较慢,包比较多、需要耐心等待一切就绪。

 🌄方式二: 使用 IDEA 创建项目

  • 1、创建一个新项目
  • 2、选择spring initalizr , 可以看到默认就是去官网的快速构建工具那里实现
  • 3、填写项目信息
  • 4、选择初始化的组件(初学勾选 Web 即可)
  • 5、填写项目路径
  • 6、等待项目构建成功

 

 🌄创建一个新的Spring Boot项目

首先,我们需要在Maven中创建一个新的Spring Boot项目。在pom.xml中添加所需的依赖,比如Spring Boot Web,JPA,MySQL驱动等。具体核心依赖项如下

<dependencies>
    <!-- Spring Boot Web依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    <!-- Spring Boot JPA依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <!-- MySQL驱动依赖 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.23</version>
    </dependency>
</dependencies>

 

 🌄编写实体类

我们需要先定义一个实体类来映射数据库中的表。在src/main/java目录下创建一个名为“com.example.demo.entity”的包,并在其中创建一个名为“User”的Java类,代码如下:

@Entity
@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "name")
    private String name;

    @Column(name = "age")
    private int age;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

 

在这里,我们使用了JPA(Java Persistence API)来创建实体类。使用@Entity注释来标识这是一个实体类,@Table注释来指定该类映射到数据库中的表。@Id注释将id字段标记为主键,@GeneratedValue指定主键自增策略,@Column指定字段名。

 🌄创建一个Spring Boot控制器

在src/main/java目录下创建一个名为“com.example.demo.controller”的包,并在其中创建一个名为“UserController”的Java类,代码如下:

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserRepository userRepository;

    @GetMapping("")
    public List<User> findAll() {
        return userRepository.findAll();
    }

    @GetMapping("/{id}")
    public User findById(@PathVariable("id") Long id) {
        return userRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("User", "id", id));
    }

    @PostMapping("")
    public User addUser(@RequestBody User user) {
        return userRepository.save(user);
    }

    @PutMapping("/{id}")
    public User updateUser(@PathVariable Long id, @RequestBody User userDetails) {
        User user = userRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("User", "id", id));
        user.setName(userDetails.getName());
        user.setAge(userDetails.getAge());
        return userRepository.save(user);
    }

    @DeleteMapping("/{id}")
    public ResponseEntity<?> deleteUser(@PathVariable Long id) {
        User user = userRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("User", "id", id));
        userRepository.delete(user);
        return ResponseEntity.ok().build();
    }
}

 🌄创建UserRepository

在src/main/java目录下创建一个名为“com.example.demo.repository”的包,并在其中创建一个名为“UserRepository”的Java接口,代码如下:

@Repository
public interface UserRepository extends JpaRepository<User, Long> {

}

在这里,我们使用了Spring Data JPA提供的JpaRepository接口,该接口提供了一些常见的CRUD操作。@Repository注解用于将接口标识为一个Spring Bean。

 🌄创建异常类

在src/main/java目录下创建一个名为“com.example.demo.exception”的包,并在其中创建一个名为“ResourceNotFoundException”的Java类,代码如下:

@ResponseStatus(HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException {
    private static final long serialVersionUID = 1L;

    public ResourceNotFoundException(String resourceName, String fieldName, Object fieldValue) {
        super(String.format("%s not found with %s : '%s'", resourceName, fieldName, fieldValue));
    }
}

在这里,我们创建了一个名为“ResourceNotFoundException”的自定义异常类,用于处理资源未找到的情况。使用@ResponseStatus注释来指定返回的HTTP状态码。

 🌄配置应用程序

在application.properties或application.yml文件中配置应用程序,如端口、数据库连接等。

application.properties配置:

 
 

server.port=8080

# 数据库连接信息

spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=root

# 数据库驱动
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver

# JPA配置
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
 文章来源地址https://www.toymoban.com/news/detail-514128.html

 🌄运行DemoApplication.java中的main方法,启动应用程序。

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

到了这里,关于[SpringBoot+Jpa框架搭建 ]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot教程(十二) | SpringBoot集成JPA

    概念: JPA顾名思义就是Java Persistence API的意思,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 优势: 标准化 JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何声称符合 JPA 标准的框架都遵循同样的架构,提供相同的访问API,这保证

    2024年01月18日
    浏览(42)
  • SpringBoot整合JPA

    SpringData :Spring 的一个子项目。用于简化数据库访问,支持NoSQL 和 关系数据存储。其主要目标是使数据 库的访问变得方便快捷。 JPA :JPA(Java Persistence API,Java持久化API),定义了对象关系映射(Object Relation Mapping,ORM)以及实 体对象持久化的标准接口。Hibernate实现了JPA的一个ORM框

    2024年04月11日
    浏览(40)
  • SpringBoot JPA使用

    Spring Data JPA 是 Spring 框架提供的一个模块,用于简化与关系型数据库的交互和数据访问。它基于JPA(Java Persistence API)标准,并提供了一组易于使用的API和工具,帮助开发人员更轻松地进行数据库操作。通过Spring Data JPA,开发人员可以通过编写简洁的代码来执行常见的 CRUD 操

    2024年04月26日
    浏览(30)
  • springboot JPA日志打印

    1、在springboot整合jpa后再配置文件applcation.yml的时候show-sql要设置为true 这时去执行请求,后台就会打印sql,但是不会现实参数,如果需要现在参数需要再在application.yml中添加下面的配置 这时去执行请求,后台就会将参数和sql都打印出来,但是sql和参数是分开的。 下面我们让

    2024年02月15日
    浏览(47)
  • ELK 日志框架搭建 (springboot 接入 elk)

    ELK 是一个开源的实时日志分析平台,它主要由 Elasticsearch、Logstash 和 Kiabana 三部分组成。 Logstash 主要用于收集日志,它是一个开源数据收集引擎,具有实时管道功能。Logstash 可以动态地将来自不同数据源的数据统一起来,并将数据标准化到您所选择的目的地。 Logstash 收集数

    2023年04月25日
    浏览(39)
  • SpringSecurity框架快速搭建(SpringBoot整合Security)

    目录 Common类 Config类 CorsConfig(解决跨域问题) RedisConfig (Redis数据库配置) Spring Security (配置安全功能的类) expression类(Expression 类通常用于权限控制和安全策略的定义) SGExpressionRoot(判断用户是否具有某个权限) Filter类 JwtAuthenticationTokenFilter(解析token看是否放行) Handler类

    2024年02月09日
    浏览(42)
  • 后端Springboot框架搭建APi接口开发(第一章)

    本文章以IDEA为开发工具,使用SSM框架进行项目编写 我们用一个简单的用户表进行操作演示 首先创建 Data 数据库 创建 User 数据表,表中包含 用户邮箱 , 用户姓名 , 用户密码 放点数据进去 打开IDEA,在右上角点击NewProject。创建新的项目 选择Spring Initializr框架,依次输入项目

    2023年04月08日
    浏览(44)
  • 【SpringBoot框架篇】35.kafka环境搭建和收发消息

    kafka依赖java环境,如果没有则需要安装jdk kafka3.0版本后默认自带了zookeeper,3.0之前的版本需要单独再安装zookeeper,我使用的最新的3.6.1版本。 cd到kafka的安装根目录后,执行下面命令指令 zookeeper.properties 文件路径启动zookeeper,默认启动的zk服务使用内存是512m,可以修改 zookeeper-server

    2024年01月18日
    浏览(42)
  • Spring Boot : ORM 框架 JPA 与连接池 Hikari

    数据库方面我们选用 Mysql , Spring Boot 提供了直接使用 JDBC 的方式连接数据库,毕竟使用 JDBC 并不是很方便,需要我们自己写更多的代码才能使用,一般而言在 Spring Boot 中我们常用的 ORM 框架有 JPA 和 Mybaties ,本篇文章我们要介绍的就是 JPA 的使用姿势。 说道使用 ORM 框架,就

    2024年02月14日
    浏览(54)
  • java常见面试题:如何使用Java进行JPA框架开发?

    JPA(Java Persistence API)是一个Java平台的标准持久化API,它提供了一种标准的查询语言和API来将Java对象与关系数据库进行映射。 以下是使用Java进行JPA框架开发的详细步骤: 添加JPA依赖 首先,你需要在项目中添加JPA的依赖。如果你使用的是Maven项目,可以在pom.xml文件中添加以

    2024年01月18日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包