本文介绍Springboot整合Spring-data-jpa实现简单应用

Spring-data-jpa是什么?这不由得我们思考一番,其实通俗来说Spring-data-jpa默认使用hibernate,使用Spring-data-jpa这样的技术,它实现了模板Dao层,只需要在Dao,通过继承一个接口,就可轻松完成“增删改查,所以本质就是springboot和hibernate的整合,已经有了hibernate为什么还要Spring-data-jpa!!!其实开发jpa和开发hibernate的居然是同一个作者...emmmm...

话不多说开始实施!

一、创建Springboot项目添加相关依赖:(大家可以参考我这篇文章创建Springboot项目哦!)

https://www.cnblogs.com/bgyb/p/12070279.html

      <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>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--MySQL依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- spring-data-jpa依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

二、配置application.yml进行配置:(注意层级关系,按住Ctrl键,移动到属性上面鼠标键变为小手形状则为正确)

spring:
datasource:
url: jdbc:mysql://localhost:3306/easybuy?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.jdbc.Driver
username: root
password: root
jpa:
hibernate:
ddl-auto: update #启动应用,自动的去数据库帮我们创建表
show-sql: true #显示sql

三、创建实体类(entity)、数据接口(mapper)、拦截器(controller)

实体类(entity):

import org.springframework.boot.autoconfigure.domain.EntityScan;

import javax.persistence.*;

//使用JPA注解配置映射关系
@Entity //告诉JPA这是一个实体类(和数据表映射的类)
@Table(name="user") //@Table来指定和哪个数据表对应;如果省略默认表名就是user
public class User {
@Id //表示主键
@GeneratedValue(strategy = GenerationType.IDENTITY) //设置主键
private Integer id; @Column(name = "u_name") //这是和数据表对应的一个列,如果注解中name不指定,表中列名默认和属性名一样
private String name; @Column(name = "u_email")
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;
}
}

数据接口(mapper):

import com.poje.myspringjpa.entity.User;
import org.springframework.data.jpa.repository.JpaRepository; //继承JpaRepository来完成对数据库的操作,指定javabean类型,其javabean主键属性类型
public interface UserMapper extends JpaRepository<User,Integer> { //方法体内可自定义方法进行操作 }

拦截器(controller):

import com.poje.myspringjpa.entity.User;
import com.poje.myspringjpa.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; @Controller
public class UserController {
@Autowired
UserMapper userMapper; //注入mapper层 //根据id查询,查询单个
@RequestMapping("/hello/{id}")
@ResponseBody
public User hello(@PathVariable("id") Integer id){
// User user = userMapper.findOne(id); Spring Boot2.0.0以上本版本,把findOne(id)改成findById(id).get()
User user = userMapper.findById(id).get(); //jpa自带查询方法
return user;
} //查询全部
@RequestMapping("/findAll")
@ResponseBody
public List<User> findAll(){
List<User> list =userMapper.findAll();//jpa自带查询方法
return list;
} }

四、完成以上配置后即可启动Springboot项目:

从控制台我们可以看出Spring-data-jpa帮我们执行了创建表语句,我们可以去数据库查看一番。。。

如图所示数据库表已经创建成功:

我们创建几条数据到表中,接着去打开浏览器,输入url:http://localhost:8080/hello/2,可以看到结果和控制台的sql语句。

浏览器端效果如下:

至此Springboot整合jpa实现简单创表及查询已经都实现了,实现了的小伙伴都非常奈斯!(晚上给自己加个鸡腿)

本人寄语:写博客希望记录当下,学习是永无止境的!努力成为IT界中的清流!

从无到有Springboot整合Spring-data-jpa实现简单应用的更多相关文章

  1. springboot整合spring Data JPA

    今天敲代码,一连串的错误,我也是服气~果然,我们不是在出bug,就是在找bug的路上…… 今天完成的是springboot整合spring data JPA ,出了一连串的错,真是头大 java.sq ...

  2. springboot整合spring data jpa 动态查询

    Spring Data JPA虽然大大的简化了持久层的开发,但是在实际开发中,很多地方都需要高级动态查询,在实现动态查询时我们需要用到Criteria API,主要是以下三个: 1.Criteria ...

  3. SpringBoot中使用Spring Data Jpa 实现简单的动态查询的两种方法

    软件152 尹以操 首先谢谢大佬的简书文章:http://www.jianshu.com/p/45ad65690e33# 这篇文章中讲的是spring中使用spring data jpa,使用了xml ...

  4. spring-boot (三) spring data jpa

    学习文章来自:http://www.ityouknow.com/spring-boot.html spring data jpa介绍 首先了解JPA是什么? JPA(Java Persistence ...

  5. Spring data jpa 实现简单动态查询的通用Specification方法

    本篇前提: SpringBoot中使用Spring Data Jpa 实现简单的动态查询的两种方法 这篇文章中的第二种方法 实现Specification 这块的方法 只适用于一个对象针对某一个固定字 ...

  6. Spring Boot从入门到精通(九)整合Spring Data JPA应用框架

    JPA是什么? JPA全称Java Persistence API,是Sun官方提出的Java持久化规范.是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. ...

  7. Spring Boot 整合Spring Data JPA

    Spring Boot整合Spring Data JPA 1)加入依赖 <dependency> <groupId>org.springframework.boot</g ...

  8. SpringBoot第九篇:整合Spring Data JPA

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10910059.html 版权声明:本文为博主原创文章,转载请附上博文链接! 前言   前面几章, ...

  9. Spring整合Hibernate实现Spring Data JPA (简单使用)

    直接上代码: pom.xml <!-- hibernate start --> <!-- spring data jpa --> <dependency> < ...

  10. Spring boot 整合spring Data JPA+Spring Security+Thymeleaf框架(上)

    近期上班太忙所以耽搁了给大家分享实战springboot 框架的使用. 以下是spring boot 整合多个框架的使用. 首先是准备工作要做好. 第一  导入框架所需的包,我们用的事maven 进行 ...

随机推荐

  1. Linux系统管理第三次作业 账号管理 权限及归属管理

    1.创建/guanli 目录,在/guanli下创建zonghe 和 jishu 两个目录(一条命令) [root@localhost ~]# mkdir /guanli [root@localhos ...

  2. python实现逻辑回归

    首先得明确逻辑回归与线性回归不同,它是一种分类模型.而且是一种二分类模型. 首先我们需要知道sigmoid函数,其公式表达如下: 其函数曲线如下: sigmoid函数有什么性质呢? 1.关于(0,0. ...

  3. TCP链接的三次握手与四次断开

    一直总觉得三次握手和四次断开,之前老师讲的有问题,经过自己再次琢磨,发现是的,老师讲的没毛病,这次也把自己的理解总结一下,让对这个知识模糊的小伙伴再换种思路去理解 首先看一下TCP三次握手发生了哪些: ...

  4. IDC:企业需求疲软 第三季度全球服务器市场收入下滑7%

    根据IDC全球服务器季度追踪报告,2016年第三季度全球服务器市场同比减少7%至125亿美元.整个服务器市场的增长最近有所放缓,部分原因是超大规模数据中心增长放缓,以及受到高端服务器销售下滑的拖累.此 ...

  5. Linux环境下,MongoDB 3.6.10 的安装步骤,以及设置用户和密码,配置随处执行mongo命令启动客户端,以及所遇到的问题

    https://blog.csdn.net/qinaye/article/details/87920651 二.设置MongoDB用户和密码2.1 利用./mongo命令连接mongoDB客户端../ ...

  6. 数据库SQL语言从入门到精通--Part 5--E-R图(实体联系图)用来描述数据库图例

    数据库从入门到精通合集(超详细,学习数据库必看) E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型.属性和联系的方法,用来描述现实世界的概念模型. ...

  7. A Tile Painting(循环节)

    Ujan has been lazy lately, but now has decided to bring his yard to good shape. First, he decided to ...

  8. python selenium(键盘事件 Keys 类)

    1.导入Keys类 from selenium.webdriver.common.keys import Keys Keys.BACK_SPACE  删除输入框内结尾的单个字符 Keys.SPACE  ...

  9. python(random 模块)

     一.Random 模块 注意:random() 是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法. 1.random.random() 返回随机生成的一个 ...

  10. golang server示例

    一个简单的web服务器 package main import ( "fmt" "log" "net/http" ) func main() ...