目录

1、创建工程spring-boot-jpa

2、配置pom.xml

3、配置application.yml

4、创建User实体类

5、创建数据库及数据表

6、编写一个Dao接口

7、创建UserController

8、测试


1、创建工程spring-boot-jpa

2、配置pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.mi</groupId><artifactId>spring-boot-jpa</artifactId><version>0.0.1-SNAPSHOT</version><name>spring-boot-jpa</name><description>spring-boot-jpa project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

3、配置application.yml

spring:datasource:url: jdbc:mysql://localhost:3306/jpa?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTCusername: rootpassword: rootdriver-class-name: com.mysql.jdbc.Driverjpa:hibernate:#更新或创建表结构ddl-auto: update#控制台显示sqlshow-sql: truedatabase-platform: org.hibernate.dialect.MySQLDialect

4、创建User实体类

package com.mi.entity;import javax.persistence.*;/*** Created by chengwen on 2019/7/3.*/
//使用JPA注解配置映射关系
@Entity //告诉JPA这是一个实体类(和数据表映射的类)
@Table(name = "t_user") //@Table来指定和哪个数据表对应,如果省略默认就是user
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler" })
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、创建数据库及数据表

CREATE  TABLE `jpa`.`t_user` (`id` INT NOT NULL AUTO_INCREMENT  ,`last_name` VARCHAR(45) NULL ,`email` VARCHAR(45) NULL ,PRIMARY KEY (`id`) );

6、编写一个Dao接口

package com.mi.repository;import com.mi.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;/*** Created by chengwen on 2019/7/3.*/
//继承jpa来完成对数据库的操作
public interface UserRepository extends JpaRepository<User,Integer>{
}

7、创建UserController

package com.mi.controller;import com.mi.entity.User;
import com.mi.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;/*** Created by chengwen on 2019/7/3.*/
@RestController
public class UserController {@AutowiredUserRepository 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 usr = userRepository.save(user);return usr;}
}

8、测试

新增

http://localhost:8080/user?lastName=zhangsan&email=zhangsan@163.com

结果

{"id":1,"lastName":"zhangsan","email":"zhangsan@163.com"}

查询

http://localhost:8080/user/1

结果

{"id":1,"lastName":"zhangsan","email":"zhangsan@163.com"}

1、SpringBoot整合JPA相关推荐

  1. (二)SpringBoot 整合 JPA

    一.JPA简介 JPA(java persistence api)并不是一个框架,而是一组规范.Hibernate.TopLink.OpenJPA都实现了JPA规范,不过Hinernate最成功).所 ...

  2. Springboot整合JPA多数据源(Oracle+Mysql)

    Springboot整合JPA多数据源 1. Maven 2. 基本配置 2.1 DataSource 3. 多数据源配置 3.1 JpaConfigOracle 3.2 JpaConfigMysql ...

  3. Springboot整合JPA

    文章目录 JPA技术 常用注解 Springboot整合JPA 1.引入JPA依赖 2.配置 3.启动类 4.实体类 5.定义接口和数据库交互(dao) 6.JPA中使用原生态的SQL语句 7.Tes ...

  4. springboot整合JPA+MYSQL+queryDSL数据增删改查

    Spring Boot Jpa 是 Spring 基于 ORM 框架.Jpa 规范的基础上封装的一套 Jpa 应用框架,可使开发者用极简的代码即可实现对数据的访问和操作.它提供了包括增删改查等在内的常 ...

  5. SpringBoot整合JPA 数据库自动增加字段问题记录

    Spring整合JPA启动的时候忽然发现,数据增加了两个字段,我当时就很纳闷了,我自己写的有实体有字段,并且跟数据一致,为什么要给我增加两个字段哪? 我的实体如下: 启动的时候就变成这样了 然后就找度 ...

  6. springboot整合jpa+h2

    JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. JPA的主要目标之一 ...

  7. 【idea】Springboot整合jpa

    第一步快速搭建springboot项目:在你建立的工程下创建 Module 选择Spring initializr创建. 第二步:修改包名.项目名.web项目打成war包.在Type处选择: Mave ...

  8. springboot整合jpa之连接MySql实现crud

    整体思路:搭建springboot一定要注意版本问题,各个jar包之间是否兼容.搭建可以从上往下进行,是一个从Controller层和Service层-->Dao层的一个过程. 1.添加mave ...

  9. 七十三、SpringBoot整合Jpa

    @Author:Runsen 来源:尚硅谷 下面建议读者学习尚硅谷的B站的SpringBoot视频,我是学雷丰阳视频入门的. 具体链接如下:B站尚硅谷SpringBoot教程 这里需要注意的是:jpa ...

  10. SpringBoot整合Jpa配置多数据源

    前言: 最近接手的SpringBoot项目,原项目数据存储在Oracle上,因后期新增功能考虑到数据量等问题,后期新加功能数据存放在Vertica上,项目中数据库这边主要是用Jpa去持久. 环境: S ...

最新文章

  1. docker 保存 环境持久化_18、docker的持久化存储和数据共享
  2. spark提交应用的全流程分析
  3. mysql my.cnf_如何知道mysql的my.cnf位置
  4. Python创建list
  5. SVN快速上手使用(适用于新入职同事)
  6. Tampermonkey 实现 csdn 免登陆复制
  7. 微信小程序测试自学文档
  8. android8.0源码下载
  9. Qt 获取控件位置坐标,屏幕坐标,相对父窗体坐标
  10. 网站分析平台:是选择百度统计,还是 Google Analytics 呢?
  11. 所有的风只向她们吹 所有的日子都为她们破碎——査海生《四姐妹》
  12. fluter的环境搭配及android studio开发
  13. 什么是 NFT 洗盘交易:洗盘交易背后的原理
  14. 最初计算机研制时间科学家,美科学家研制“时间晶体”超越宇宙寿命 类似永动机...
  15. 江阴php工程师_江阴市融媒体中心(江阴传媒集团)招人啦!
  16. Windows10安装深度Linux,可能是最漂亮的国产Linux,windows下安装深度操作系统步骤...
  17. 系统设计——操作日志
  18. 甘书计算机,甘文生,暨南大学
  19. ios,wp,android客户端icon素材
  20. 简单的麻将和牌算法(以卡五星为例)

热门文章

  1. 最小拍有纹波系统仿真实验matlab代码,最小拍控制器设计.doc
  2. Ubuntu ORTP 编译及安装
  3. python 立体图像_OpenCV-Python 立体图像的深度图 | 五十二
  4. tp5 童攀_童攀TP5企业网站实战笔记
  5. python怎么筛选excel数据_PythonEXCEL读取-保存-矩阵合并-条件筛选
  6. python适合做什么生意_适合Python的5大练手项目,你练了么?
  7. c语言乘法口诀倒三角,乘法口诀表,C语言实现
  8. python networkx进行最短路径分析_NetworkX vs Scipy所有最短路径算法
  9. mysql 将三个月的数据导到历史表_迁移数据到历史表,减少业务表中数据压力 Mysql...
  10. 现代计算机三大科学计算,基于三维重建过程中纹理映射问题的研究