一、pom.xml文件重引入jpa依赖

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency>

二、application.yml配置数据源信息

spring:datasource:url: jdbc:mysql://localhost:3306/testtype: com.alibaba.druid.pool.DruidDataSourceusername: edupassword: 123456driver-class-name: com.mysql.jdbc.Driverjpa:hibernate:ddl-auto: updateshow-sql: true

pa.hibernate.ddl-auto是hibernate的配置属性,其主要作用是:自动创建、更新、验证数据库表结构。该参数的几种配置如下:

  • create:每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。

  • create-drop:每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。

  • update:最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等应用第一次运行起来后才会。

  • validate:每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。

三、定义domain对象

package springboot.domain;import lombok.Getter;
import lombok.Setter;import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;@Entity
@Getter
@Setter
public class Person {@Id@GeneratedValueprivate Long id;@Column(name = "name", nullable = true, length = 20)private String name;@Column(name = "agee", nullable = true, length = 4)private int age;
}

四、PersonRepository接口

package springboot.repository;import org.springframework.data.jpa.repository.JpaRepository;
import springboot.domain.Person;public interface PersonRepository extends JpaRepository<Person, Long> {Person findByName(String name);
}

五、写controller接口测试

package springboot.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springboot.domain.Person;
import springboot.repository.PersonRepository;@RestController
@RequestMapping(value = "person")
public class PerconController {@Autowiredprivate PersonRepository personRepository;@PostMapping(path = "addPerson")public void addPerson(Person person) {personRepository.save(person);}@DeleteMapping(path = "deletePerson")public void deletePerson(Long id) {Person p = new Person();p.setId(id);personRepository.delete(p);}@GetMapping("getPerson")public Object getPerson(@RequestParam("name") String name) {return personRepository.findByName(name);}
}

六、项目启动信息

项目启动时,检测到数据配置,就会自动给你在数据库创建出相应的表,如下所示:

七、用postman测试


可能因为name是中文,没有解析出来,这里是null,再试试英文能不能解析出来,重新换个英文name(“zhangquandan”)也不行,发现可是age也不对啊,肯定是值没有传进去。
在参数前面加了一个@RequestBody注解后,值就传进来了


八、测试getPerson方法

springboot学习笔记03 整合JPA相关推荐

  1. springboot学习笔记-3 整合redismongodb

    一.整合redis 1.1 建立实体类 @Entity @Table(name="user") public class User implements Serializable ...

  2. SpringBoot学习笔记(7)-整合Mybatis

    文章目录 一.配置mybatis依赖 二.配置application.properties 三.在启动类上加@MapperScan注解 四.配置资源文件读取 五.结合SpringMVC完成测试 整合环 ...

  3. SpringBoot学习笔记(16)----SpringBoot整合Swagger2

    Swagger 是一个规范和完整的框架,用于生成,描述,调用和可视化RESTful风格的web服务 http://swagger.io Springfox的前身是swagger-springmvc,是 ...

  4. 2.6 springBoot学习笔记(2.6)——- 整合mybatisPlus

    更多文章 更多系列文章在个人网站 springBoot学习系列笔记文章 springBoot学习笔记(1)-- 搭建springBoot项目 文章目录 更多文章 springBoot学习系列笔记文章 ...

  5. SpringBoot学习笔记(9)----SpringBoot中使用关系型数据库以及事务处理

    在实际的运用开发中,跟数据库之间的交互是必不可少的,SpringBoot也提供了两种跟数据库交互的方式. 1. 使用JdbcTemplate 在SpringBoot中提供了JdbcTemplate模板 ...

  6. SpringBoot(学习笔记)

    SpringBoot学习笔记 从今天开始就进入微服务阶段 一些小问题 1.HelloWorld 1.1回顾什么是Spring 1.2什么是SpringBoot 1.3微服务架构 2.第一个Spring ...

  7. SpringBoot 学习笔记

    SpringBoot 学习笔记 文章目录 SpringBoot 学习笔记 1. SpringBoot简介 1.1 什么是Spring 1.2 Spring 是如何简化Java开发的 1.3 什么是 S ...

  8. SpringBoot学习笔记(4)----SpringBoot中freemarker、thymeleaf的使用

    1. freemarker引擎的使用 如果你使用的是idea或者eclipse中安装了sts插件,那么在新建项目时就可以直接指定试图模板 如图: 勾选freeMarker,此时springboot项目 ...

  9. JavaEE——Spring学习笔记03【AOP开发】

    JavaEE--Spring学习笔记01[Ioc开发的模式] JavaEE--Spring学习笔记02[Spring和Mybatis的整合] JavaEE--Spring学习笔记03[AOP开发] J ...

  10. springboot学习笔记:12.解决springboot打成可执行jar在linux上启动慢的问题

    springboot学习笔记:12.解决springboot打成可执行jar在linux上启动慢的问题 参考文章: (1)springboot学习笔记:12.解决springboot打成可执行jar在 ...

最新文章

  1. 一位小小码蚁工作2年多感想
  2. java swing form_在java swing中创建表单最简单的方法是什么?
  3. 光模块价格由带宽还是距离决定_100G QSFP28 CWDM4光模块介绍及应用
  4. 个性化推荐认知之----数字化转型浪潮下,产品经理应如何重新认知个性化推荐?...
  5. mysql死锁抛出异常_如何排查和处理 MySQL 死锁异常?详细分析及解决方法步骤
  6. 记一次跳过系统版本检测强刷opengapps卡刷包的过程,20210110修
  7. Android 检查权限总是 PERMISSION_GRANTED
  8. SSM+MySQL+JSP教务管理系统设计与实现(附源码下载地址)
  9. Day45. 数据分析实战(1):超市运营数据分析
  10. dos命令批量修改图片名称
  11. python 爬取王者荣耀高清壁纸
  12. Tracer 记录 Controller 日志
  13. 审查元素:html标签消失。
  14. 向UBOOT 中添加自己的板子
  15. Java实现Mysql数据库备份与还原(Linux 和Windows 包含单张表备份)
  16. linux中怎么修改用户组名,Linux 下如何修改用户名(同时修改用户组名和家目录)...
  17. 职业python培训
  18. java 指定字符串长度,不足则右侧添加空格
  19. java解答约瑟夫问题
  20. dnstop DNS分析工具

热门文章

  1. 关于EXCEL操作的问题
  2. chrome浏览器启用本地exe程序
  3. 在 Linux 上安装 Go
  4. mac install wget
  5. Mysql binlog 日志的三种模式
  6. Mac 下更新 .bash_profile 文件
  7. 一些常用的WebServices 天气,IP,邮编,Email,火车时刻表,股票 等等
  8. 每日英语:Targeting Grandpa: China’s Seniors Hunger for Ads
  9. 如何让微博营销更具效力
  10. 在肉鸡上构建一个完美的虚拟主机