1、SpringBoot整合JPA
目录
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相关推荐
- (二)SpringBoot 整合 JPA
一.JPA简介 JPA(java persistence api)并不是一个框架,而是一组规范.Hibernate.TopLink.OpenJPA都实现了JPA规范,不过Hinernate最成功).所 ...
- Springboot整合JPA多数据源(Oracle+Mysql)
Springboot整合JPA多数据源 1. Maven 2. 基本配置 2.1 DataSource 3. 多数据源配置 3.1 JpaConfigOracle 3.2 JpaConfigMysql ...
- Springboot整合JPA
文章目录 JPA技术 常用注解 Springboot整合JPA 1.引入JPA依赖 2.配置 3.启动类 4.实体类 5.定义接口和数据库交互(dao) 6.JPA中使用原生态的SQL语句 7.Tes ...
- springboot整合JPA+MYSQL+queryDSL数据增删改查
Spring Boot Jpa 是 Spring 基于 ORM 框架.Jpa 规范的基础上封装的一套 Jpa 应用框架,可使开发者用极简的代码即可实现对数据的访问和操作.它提供了包括增删改查等在内的常 ...
- SpringBoot整合JPA 数据库自动增加字段问题记录
Spring整合JPA启动的时候忽然发现,数据增加了两个字段,我当时就很纳闷了,我自己写的有实体有字段,并且跟数据一致,为什么要给我增加两个字段哪? 我的实体如下: 启动的时候就变成这样了 然后就找度 ...
- springboot整合jpa+h2
JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. JPA的主要目标之一 ...
- 【idea】Springboot整合jpa
第一步快速搭建springboot项目:在你建立的工程下创建 Module 选择Spring initializr创建. 第二步:修改包名.项目名.web项目打成war包.在Type处选择: Mave ...
- springboot整合jpa之连接MySql实现crud
整体思路:搭建springboot一定要注意版本问题,各个jar包之间是否兼容.搭建可以从上往下进行,是一个从Controller层和Service层-->Dao层的一个过程. 1.添加mave ...
- 七十三、SpringBoot整合Jpa
@Author:Runsen 来源:尚硅谷 下面建议读者学习尚硅谷的B站的SpringBoot视频,我是学雷丰阳视频入门的. 具体链接如下:B站尚硅谷SpringBoot教程 这里需要注意的是:jpa ...
- SpringBoot整合Jpa配置多数据源
前言: 最近接手的SpringBoot项目,原项目数据存储在Oracle上,因后期新增功能考虑到数据量等问题,后期新加功能数据存放在Vertica上,项目中数据库这边主要是用Jpa去持久. 环境: S ...
最新文章
- docker 保存 环境持久化_18、docker的持久化存储和数据共享
- spark提交应用的全流程分析
- mysql my.cnf_如何知道mysql的my.cnf位置
- Python创建list
- SVN快速上手使用(适用于新入职同事)
- Tampermonkey 实现 csdn 免登陆复制
- 微信小程序测试自学文档
- android8.0源码下载
- Qt 获取控件位置坐标,屏幕坐标,相对父窗体坐标
- 网站分析平台:是选择百度统计,还是 Google Analytics 呢?
- 所有的风只向她们吹 所有的日子都为她们破碎——査海生《四姐妹》
- fluter的环境搭配及android studio开发
- 什么是 NFT 洗盘交易:洗盘交易背后的原理
- 最初计算机研制时间科学家,美科学家研制“时间晶体”超越宇宙寿命 类似永动机...
- 江阴php工程师_江阴市融媒体中心(江阴传媒集团)招人啦!
- Windows10安装深度Linux,可能是最漂亮的国产Linux,windows下安装深度操作系统步骤...
- 系统设计——操作日志
- 甘书计算机,甘文生,暨南大学
- ios,wp,android客户端icon素材
- 简单的麻将和牌算法(以卡五星为例)
热门文章
- 最小拍有纹波系统仿真实验matlab代码,最小拍控制器设计.doc
- Ubuntu ORTP 编译及安装
- python 立体图像_OpenCV-Python 立体图像的深度图 | 五十二
- tp5 童攀_童攀TP5企业网站实战笔记
- python怎么筛选excel数据_PythonEXCEL读取-保存-矩阵合并-条件筛选
- python适合做什么生意_适合Python的5大练手项目,你练了么?
- c语言乘法口诀倒三角,乘法口诀表,C语言实现
- python networkx进行最短路径分析_NetworkX vs Scipy所有最短路径算法
- mysql 将三个月的数据导到历史表_迁移数据到历史表,减少业务表中数据压力 Mysql...
- 现代计算机三大科学计算,基于三维重建过程中纹理映射问题的研究