Springboot整合JPA

一、基本环境搭建

1、使用初始化Spring Initializr快速搭建工程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
工程创建出来的列表:
在这里插入图片描述

2、接着,再resource目录下创建application.yml全局配置文件,并做以下参数的配置
在这里插入图片描述

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1/jpa
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver

3、接着,需要在navicat客户端工具需要创建一个jpa的数据库
在这里插入图片描述
4、在springboot包下,创建pojo层的文件下创建实体类(entity)
在这里插入图片描述

package com.study.springboot.entity;


import javax.persistence.*;

//使用JPA注解配置映射关系
@Entity //告诉JPA这是一个实体类(和数据表映射的类)
@Table(name = "tbl_user") //@Table来指定和哪个数据表对应;如果省略默认表名就是user;
public class User {

    @Id //这是一个主键
    @GeneratedValue(strategy = GenerationType.IDENTITY)//自增主键
    private Integer id;

    @Column(name = "last_name",length = 50) //这是和数据表对应的一个列
    private String lastName;
    @Column //省略默认列名就是属性名
    private String email;

    public Integer getId() {
        return id;
    }

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

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

5、在springboot包下,创建repository层,并在repository层的文件下创建UserRepository类
在这里插入图片描述

package com.study.springboot.repository;

import com.study.springboot.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;

//继承JpaRepository来完成对数据库的操作
public interface UserRepository extends JpaRepository<User,Integer> {
}

接着,还需要在application.yml全局配置文件,配置一些参数的配置
在这里插入图片描述

spring:
  jpa:
    hibernate:
      ddl-auto: update
 #    控制台显示SQL
    show-sql: true

所以,application.yml全局配置文件所有参数主要有:

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1/jpa
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
  #     更新或者创建数据表结构
  jpa:
    hibernate:
      ddl-auto: update
 #    控制台显示SQL
    show-sql: true

6、我们直接启动主程序,控制台日志打印信息
提示,出现错误信息
在这里插入图片描述
需要在application.yml加入

?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8

在这里插入图片描述
再次启动主程序
提示信息,需要自定义一个端口号,默认的8080端口号被占用了
在这里插入图片描述
解决方案:
在application.yml全局配置文件中,自定义一个端口号:8082

#自定义一个端口号
server:
  port: 8082

在这里插入图片描述
再次启动主程序,日志打印信息
在这里插入图片描述
在navicat客户端工具的jpa数据库下的tbl_user表被创建出来了,如图所示:

在这里插入图片描述
7、接着,我们需要在springboot目录下创建controller层,并在controller创建UserController类
在这里插入图片描述

UserController.java

package com.study.springboot.controller;

import com.study.springboot.entity.User;
import com.study.springboot.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {
    @Autowired
    UserRepository userRepository;

    @GetMapping("/user/{id}")
    public User getUser(@PathVariable("id") Integer id){
        User user = userRepository.getOne(id);

        return user;
    }

    @GetMapping("/user")
    public User insertUser(User user){
        User save = userRepository.save(user);
        return save;
    }
}

启动主程序,日志打印信息
在这里插入图片描述
访问地址
插入数据接口:http://localhost:8082/user?LastName=张三&email=zhangshan@163.com
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值