1) 引入jar包支持

 <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency> <!-- 数据库支持 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>

2)数据库表

 3)java实体

  注意,框架本身并不能识别转换驼峰和下划线,必须使用注解 @Column(name = "user_id") 映射出正确的字段名

  别忘了再类头上加上注解 @Table(name = "user") 指定数据库名称

 @Entity
@Table(name = "user")
public class UserModel {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Column(name = "user_id")
private Integer userId ; @Column(name = "user_name")
private String userName ; private Integer age ;
// get set 略

4 ) 生成 DAO 层接口

  注意此时生成的是 dao 接口并不是 类。 在继承了框架提供的 接口 JpaRepository<  实体名 , 主键类型  > , JpaSpecificationExecutor< 实体名  >, Serializable 后

  所有简单的 CRUD 都可以调用父接口中的方法, 此时 简单的CRUD 已经可以实现 , 具体见下文 service  层

  PS。接口中有自定义方法 findUserByUserName() 方法在下文说明。

public interface UserJpa extends
JpaRepository<UserModel, Integer> ,
JpaSpecificationExecutor<UserModel>,
Serializable{ UserModel findUserByUserName(String userName);
}

5 ) service 层 对dao层的调用

 /**
*
* @作者 陈先生
* @创建时间 2018年7月17日
* @功能描述 user service层
*/
@Service
public class UserService { @Autowired
private UserJpa userJpa; public UserModel getUserModel(Integer id) {
return userJpa.findById(id).get();
} public UserModel saveUserModel(UserModel user) {
return userJpa.saveAndFlush(user);
} public String delUserById(Integer id) { userJpa.deleteById(id);
return "delete model success";
} public UserModel findUserByName(String userName) { return userJpa.findUserByUserName(userName);
} }

根据以上步奏,已经可以简单实现对数据库的简单crud操作。

-----------------------------------------------------------------------------------------------------------------------------------

  条件查询 接口中只默认给出了 根据ID 主键来做条件查询,代码jpa层 添加了自定义方法findUserByUserName() .。 在调用的时候也可以直接

调用不需要实现, 详解见后文。

Spring Data JPA -1-CRUD入门的更多相关文章

  1. 【ORM框架】Spring Data JPA(一)-- 入门

    本文参考:spring Data JPA入门   [原创]纯干货,Spring-data-jpa详解,全方位介绍  Spring Data JPA系列教程--入门 一.Spring Data JPA介 ...

  2. spring data jpa(一)

    第1章     Spring Data JPA的快速入门 1.1   需求说明 Spring Data JPA完成客户的基本CRUD操作 1.2   搭建Spring Data JPA的开发环境 1. ...

  3. 尝试Spring Data Jpa--告别CRUD

    前言 说到我们的web开发架构分层中,持久层是相对底层也是相对稳定的一层,奠定好根基后,我们才能专注于业务逻辑和视图开发.而自从ORM思想蔓延开来后,全自动ORM的Hibernate和半自动ORM的M ...

  4. spring boot学习(4) SpringBoot 之Spring Data Jpa 支持(1)

    第一节:Spring Data Jpa 简介 Spring-Data-Jpa JPA(Java Persistence API)定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate ...

  5. SpringBoot系列之Spring Data Jpa集成教程

    SpringBoot系列之Spring Data Jpa集成教程 Spring Data Jpa是属于Spring Data的一个子项目,Spring data项目是一款集成了很多数据操作的项目,其下 ...

  6. SpringBoot整合持久层技术--(三)Spring Data JPA

    简介: JPA(java Persistence API)和SpringData是两个范畴的概念.spring data jpa是spring公司下的spring data项目的一个模块. sprin ...

  7. SpringBoot总结之Spring Data Jpa

    一.Spring Data Jpa简介 JPA(Java Persistence API)定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate.TopLink等. Spring D ...

  8. Spring Data JPA —— 快速入门

    一.概述 JPA : Java Persistence API, Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. Spring D ...

  9. Spring Data Jpa 入门学习

    本文主要讲解 springData Jpa 入门相关知识, 了解JPA规范与Jpa的实现,搭建springboot+dpringdata jpa环境实现基础增删改操作,适合新手学习,老鸟绕道~ 1. ...

  10. Spring Data JPA入门及深入

    一:Spring Data JPA简介 Spring Data JPA 是 Spring 基于 ORM 框架.JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问 ...

随机推荐

  1. apache Apache winnt_accept: Asynchronous AcceptEx failed 错误的解决

    httpd配置文件中添加: AcceptFilter http noneAcceptFilter https none apache优化: http://blog.csdn.net/hytfly/ar ...

  2. Linux下rsync的用法

    一.rsync的概述 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync” ...

  3. ASP.NET WebAPI 06 HttpMessageHandler管道

    HttpMessageHandler管道 在Web API的中,微软为了更好的进行架构扩展,采用的了一套管道设计----HttpMessageHander(其实WCF也有类似架构). 在整个管道中的头 ...

  4. 自动化测试框架Cucumber和Robot Framework的实战对比

    自动化测试框架Cucumber和RobotFramework的实战对比 一.摘要 自动化测试可以快速自动完成大量测试用例,节约巨大的人工测试成本:同时它需要拥有专业开发技能的人才能完成开发,且需要大量 ...

  5. eclipse重的自动提示与行号和快捷图标的显示

    显示行号:Window->Preferences->Gerenal->Editors->Text Editors然后在show line number上打对勾自动提示:Wind ...

  6. java 数组冒泡排序、转置(降序)

    1.java 数组冒泡排序 排序的基本原理(升序): 原始数据:  2 .1 .9 .0 .5 .3 .7 .6 .8: 第一次排序: 1  .2 .0 .5 .3 .7 .6 .8 .9 : 第二次 ...

  7. DateFormat 线程安全

    SimpleDateformat 线程不安全 SimpleDateFormat 继承自 DateFormat, SimpleDateFormat中的parse方法override父类DateForma ...

  8. 借助jxl将Excel中的数据注入到Bean中

    前言 使用了Hibernate的项目中需要导入多张表的数据,但是我又不想写多次取出Excle数据放到Bean里的代码,于是写了个ExcleUtils来帮助我做这件事. 基本思路 技术上,首先肯定是要借 ...

  9. poj 1659 Frogs' Neighborhood( 青蛙的邻居)

    Frogs' Neighborhood Time Limit: 5000MS   Memory Limit: 10000K Total Submissions: 9639   Accepted: 40 ...

  10. loj2480 [CEOI2017]One-Way Streets 边双+树上差分

    边双无法确定 缩完边双就是一棵树 树上差分随意弄一下吧... #include <vector> #include <cstdio> #include <cstring& ...