spring boot 尚桂谷学习笔记11 数据访问03 JPA
整合JPA



SpringData 程序数据交互结构图 (springdata jpa 默认使用 hibernate 进行封装)
使用之后就关注于 SpringData 不用再花多经历关注具体各个交互框架实现


JPA:ORM 关系型数据
1.新建项目 使用springboot 快速构建工具 模块选择 web, sql模块 选择 jdbc, mysql, jpa
创建项目pom文件为:
<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>
2)编写一个实体类(bean) 和数据表进行映射 并且配置好映射的关系
package com.lixuchun.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;
get set ......
3)编写一个Dao接口来操作试题对应的数据表,对yml文件进行jpa配置(参照JpaProperties 配置类进行配置)
package com.lixuchun.springboot.repository; import com.lixuchun.springboot.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; // 集成 jpaRepository 来完成数据库的操作
@Repository
public interface UserRepository extends JpaRepository<User, Integer> {
}
spring:
datasource:
url: jdbc:mysql://192.168.10.129/jpa
username: root
password: 101022li
driver-class-name: com.mysql.jdbc.Driver
jpa:
hibernate:
# 更新或者创建数据表
ddl-auto: update
show-sql: true
4)编写一个 测试 Controller
package com.lixuchun.springboot.controller; import com.lixuchun.springboot.entity.User;
import com.lixuchun.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 getUserById(@PathVariable("id") Integer id) {
User user = userRepository.findOne(id);
return user;
} @GetMapping("/user")
public User insertUser(User user) {
User save = userRepository.save(user);
return save;
} }
浏览器进行测试:
localhost:8080/user?lastName=jack&email=aa 进行数据插入
localhost:8080/user/1 进行id查询

https://www.bilibili.com/video/av23478787/?p=68 TODO
spring boot 尚桂谷学习笔记11 数据访问03 JPA的更多相关文章
- spring boot 尚桂谷学习笔记10 数据访问02 mybatis
数据访问 mybatis 创建一个 springboot 工程,模块选择 sql 中 mysql(数据驱动), jdbc(自动配置数据源), mybatis Web模块中选择 web pom 引入: ...
- spring boot 尚桂谷学习笔记09 数据访问
springboot 与数据库访问 jdbc, mybatis, spring data jpa, 1.jdbc原生访问 新建项目 使用 springboot 快速构建工具 选中 web 组件 sq ...
- spring boot 尚桂谷学习笔记07 嵌入式容器 ---Web
------配置嵌入式servlet容器------ springboot 默认使用的是嵌入的Servlet(tomcat)容器 问题? 1)如何定制修改Servlet容器的相关配置: 1.修改和se ...
- spring boot 尚桂谷学习笔记04 ---Web开始
------web开发------ 1.创建spring boot 应用 选中我们需要的模块 2.spring boot 已经默认将这些场景配置好了 @EnableAutoConfiguration ...
- spring boot 尚桂谷学习笔记08 Docker ---Web
------Docker------ 简介:Docker是一个开元的应用容器引擎,性能非常高 已经安装好的软件打包成一个镜像放到服务器中运行镜像 MySQL容器,Redis容器...... Docke ...
- spring boot 尚桂谷学习笔记05 ---Web
------web 开发登录功能------ 修改login.html文件:注意加粗部分为 msg 字符串不为空时候 才进行显示 <!DOCTYPE html> <!-- saved ...
- spring boot 尚桂谷学习笔记06 异常处理 ---Web
------错误处理机制------ 默认效果 1 返回一个默认的错误页面 浏览器发送请求的请求头:优先接收 text/html 数据 客户端则默认响应json数据 : accept 没有说明返回什么 ...
- springboot 尚桂谷学习笔记03
------spring boot 与日志------ 日志框架: 市面上的日志框架: jul jcl jboss-logging logback log4j log4j2 ...... 左边一个门面 ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - JPA整合
文章目录 1. 环境依赖 2. 数据源 3. 脚本初始化 4. JPA 整合方案一 通过继承 JpaRepository 接口 4.1. 实体对象 4.2. DAO相关 4.3. Service相关 ...
随机推荐
- spring security简单教程以及实现完全前后端分离
spring security是spring家族的一个安全框架,入门简单.对比shiro,它自带登录页面,自动完成登录操作.权限过滤时支持http方法过滤. 在新手入门使用时,只需要简单的配置,即可实 ...
- 用bootstrap和css3制作按钮式下拉菜单
利用bootstrap框架的字体图标和下拉菜单效果,以及css3的动画效果,可以做出比较优雅的按钮式下拉菜单样式 <style> .myBtnStyle .dropdown-menu sp ...
- Cannot modify header information - headers already sent by出错的原因
<?php ob_start(); setcookie("username","送家",time()+3600); echo "the user ...
- 项目使用Kafka镜像报错处理记录:this server does not host this topic-partition
背景 项目使用docker swarm部署 服务之间使用消息中间件 kafka 通信 Kafka 使用 star 3.7k 的 wurstmeister/kafka:2.12-2.2.1 镜像 Zoo ...
- C#设计模式:工厂模式
一,工厂模式 using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...
- java 进销存 商户管理 系统 管理 库存管理 销售报表springmvc SSM项目
统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM 普 ...
- vue + element 创建教程
一.环境准备 node安装 node版本:v10.15.3 node下载地址:https://nodejs.org/zh-cn/ vue-cli安装 全局安装vue-cli npm install - ...
- opencv保存图片路径包含中文乱码解决方案
# coding: utf-8 import numpy as np import cv2 img = cv2.imread('1.jpg',1) cv2.imshow('image', img) k ...
- CMSIS-DAP
https://www.jixin.pro/bbs/topic/4187 https://lceda.cn/jixin002/stm32f103c8t6_cmsis-dap http://tieba. ...
- jQuery给css增加!important
<div id='ele' style=''width:200px!important"><div> JS $("#el").css(" ...