您当前的位置: 首页 >  spring

小志的博客

暂无认证

  • 1浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

springboot2.0X整合jpa示例

小志的博客 发布时间:2019-11-13 09:20:26 ,浏览量:1

一、建库

1、在本地创建一个名字为jpa的空表的数据库 在这里插入图片描述

二、项目配置文件如下:

1、springboot项目创建过程省略,pom.xml文件需要引入如下依赖:

		
            org.springframework.boot
            spring-boot-starter-data-jdbc
        
        
            org.springframework.boot
            spring-boot-starter-data-jpa
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            mysql
            mysql-connector-java
            5.1.46
        

2、application.yml的配置如下:

spring:
  datasource:
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/jpa
三、代码如下:

1、目录层次如下图:下面的所有操作都是在该目录结构中操作 在这里插入图片描述 2、在entity文件夹下创建User实体类,如下代码:

package com.rf.springboot.entity;

import javax.persistence.*;

/**
 * 使用jpa注解配合映射关系
 * */
@Entity //告诉jpa这是一个实体类(和数据表映射的类)
@Table(name="sys_user") //@Table来指定和哪个数据表对应,如果胜率默认表明就是user
public class User {

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

    @Column(name = "name",length = 50)  //@Column指定和数据表对应的列明和长度
    private String name;

    @Column  //省略默认列名就是属性名
    private String email;

    public Integer getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public String getEmail() {
        return email;
    }

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

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", email='" + email + '\'' +
                '}';
    }
}

3、在repository文件夹下创建UserRepository接口,如下代码:

package com.rf.springboot.repository;

import com.rf.springboot.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
/**
 * 继承JpaRepository完成数据库映射
 * */
public interface UserRepository extends JpaRepository {

}

4、在controller文件夹下创建UserController类,如下代码:

package com.rf.springboot.controller;


import com.rf.springboot.entity.User;
import com.rf.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;

import java.util.Optional;

@RestController
public class UserController {

    @Autowired
    UserRepository userRepository;

    @GetMapping("/user/{id}")
    public Optional getUserById(@PathVariable("id") Integer id){
        Optional byId = userRepository.findById(id);
        return  byId;
    }

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

}

四、修改application.yml配置文件

1、在application.yml文件中新增如下代码:

spring:
  jpa:
    hibernate:
      #更新或者创建数据表结构
      ddl-auto: update
    #控制台显示sql
    show-sql: true
五、启动spirngboot项目,浏览器访问

1、启动spirngboot项目,控制台会打印建表语句,查看jpa数据库中会创建一个空数据的sys_user表,如下图: 在这里插入图片描述在这里插入图片描述2、浏览器中访问新增方法,sys_user表中会新增一条数据,如下图: 在这里插入图片描述在这里插入图片描述3、浏览器中访问查询方法,会显示会该信息,如下图: 在这里插入图片描述4、查看控制台会打印出新增和查询的sql语句,如下图: 在这里插入图片描述

关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.0799s