当前位置: 首页 > wzjs >正文

企业网站建设网站吸引人的软文标题

企业网站建设网站,吸引人的软文标题,厦门网站开发比较大的公司,网站开发与维修是什么意思DAY29.2 Java核心基础 Spring Boot 整合 Spring Data JPA Spring Data JPA根据具体的数据库分为不同的子模块,无论是关系型数据库和非关系型数据库,Spring Data都提供了支持 Mysql:Spring Data JPA Redis:Spring Data Redis …

DAY29.2 Java核心基础

Spring Boot 整合 Spring Data JPA

Spring Data JPA根据具体的数据库分为不同的子模块,无论是关系型数据库和非关系型数据库,Spring Data都提供了支持

Mysql:Spring Data JPA

Redis:Spring Data Redis

什么是 Spring Data JPA

是 Spring Data 家族的一部分,使得基于 JPA 的存储变得更加方便

什么是 JPA?

Java Persistence API Java 持久层规范,在现有的 ORM 框架基础上发展而来的,易于使用,扩展性强,JPA 包含 3 部分内容:

1、ORM 映射元数据:支持 XML 和注解两种元数据的形式

2、API:操作实体对象来执行 CRUD 操作

3、查询语言:通过面向对象而非面向数据库的查询语言查询数据,避免程序的 SQL 耦合度过高

JPA(Java Persistence API) 是一套由 Java 官方定义的 ORM(对象关系映射)规范,它只是定义了一组接口和规范,无法直接使用。要使用 JPA,必须依赖其具体实现,比如 Hibernate 就是最常用的 JPA 实现框架之一。

Spring Data JPA 是 Spring 提供的基于 JPA 的数据访问抽象框架,它对 JPA 进行了进一步封装,简化了数据访问层的开发。使用 Spring Data JPA,开发者只需定义接口,遵循一定的命名规则,就可以实现常见的数据库 CRUD 操作,而无需编写接口的实现类。需要注意的是,Spring Data JPA 并不直接操作数据库,它仍然依赖 Hibernate 等 JPA 实现作为底层支撑。

关于 Spring Data JPA 与 Spring JdbcTemplate 的关系与区别:

  • 二者没有直接关联,它们是两种不同的数据访问方式。
  • Spring JdbcTemplate 是基于原生 JDBC 的封装,提供了一套简洁的模板方法,简化了数据库操作中的样板代码,但依然需要手动编写 SQL。
  • Spring Data JPA 则是基于 ORM 的方式,通过实体映射和接口定义来完成数据库操作,通常不需要写 SQL(除非自定义查询)。

简单对比:

特性Spring Data JPASpring JdbcTemplate
编程方式面向对象(基于实体类和接口)面向过程(基于 SQL)
是否需写 SQL一般不需要,除非自定义查询需要手写 SQL
底层依赖JPA 实现(如 Hibernate)原生 JDBC
使用复杂度较高层次,易上手灵活但略繁琐

总结来说,Spring Data JPA 适合需要快速开发、模型清晰的场景,而 Spring JdbcTemplate 则适用于需要灵活控制 SQL 或操作复杂查询逻辑的场景。

1、导入依赖

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

2、创建实体类,映射到数据库表,Spring Data JPA常用的注解有

  • @Id:将成员变量与数据库表的主键进行映射
  • @Entity:将实体类与数据库表进行映射
  • @GeneratedValue:表示自动生成主键,strategy 为主键生成策略,一般是自增
  • @Column:将实体类中的成员变量和数据表中的普通字段进行映射
@Entity(name = "people")
public class People {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Integer id;@Columnprivate String name;@Columnprivate Integer age;
}
strategy 的策略区别:
策略原理依赖数据库是否支持批量性能建议使用场景
IDENTITY数据库自增中等MySQL/SQLServer 主键生成
SEQUENCE数据库序列Oracle/PostgreSQL,支持高并发
TABLE表模拟序列数据库无序列但需跨库兼容
AUTO自动选择(依赖实现)视情况而定不确定快速开发/入门,但不适用于复杂系统

3、创建接口,基础父类JpaRepository,直接继承即可,Spring Data Jpa是一个全自动的框架,底层是Hibernate的框架,直接使用接口,不需要自己写sql

public interface PeopleDao extends JpaRepository<People,Integer> {
}

4、控制层Controller(基本的增删改查)

@RestController
@RequestMapping("/people")
public class PeopleController {@Autowiredprivate PeopleDao peopleDao;@GetMapping("/findAll")public String findAll(){return peopleDao.findAll().toString();}@GetMapping("/findById/{id}")public String findById(@PathVariable("id") Integer id){return peopleDao.findById(id).toString();}@PostMapping("/add")public People add(@RequestBody People people){return peopleDao.save(people);}@PutMapping("/save")public People save(@RequestBody People people){return peopleDao.save(people);}@DeleteMapping("/delete/{id}")public String delete(@PathVariable("id") Integer id){peopleDao.deleteById(id);return "删除成功";}
}
http://www.dtcms.com/wzjs/451340.html

相关文章:

  • 桐庐县建设局网站百度服务
  • 浙江网商银行股份有限公司福州短视频seo
  • 问答系统网站建设百度官网电话
  • 公司名称大全四个字韩国seocaso
  • 新网站一直不被收录长尾词排名优化软件
  • 软件技术基础seo综合查询站长工具
  • 科威网络做网站怎么样合肥百度搜索优化
  • 网站建设公司果动c网站制作的步骤
  • 空间资源seo百度seo排名优化软件
  • 同ip下网站增加百度指数的四种方法
  • 为什么做网站网址提交
  • 做电商网站用什么语言世界足球世界排名
  • 用wordpress制作网站模板下载seo综合查询站长工具关键词
  • wordpress做网站优点一个免费的网站
  • 东莞制作网站公司郑州关键词优化顾问
  • 公司做网站提供产品加盟费东莞网站公司
  • 网站里可以添加视频做背景吗潍坊网站建设方案咨询
  • 网站建设上海公司营销策略4p分析怎么写
  • 网站转化率搜索引擎优化叫什么
  • 如何设计酒店网站建设想要网站推广版
  • 网站管理后台源码seo基础课程
  • 保险网站建设百度学术论文查重免费
  • 网站开发内容和方法最近的新闻摘抄
  • 前台和后台网站开发有什么区别2023b站免费推广入口游戏
  • vs2017手机网站开发免费企业网站建设流程
  • 暴雪公司优化网站制作方法大全
  • 青岛网站建设费用企业网上的推广
  • 公司网站恶意评价市场营销模式有哪些
  • 门户网站ui设计石家庄疫情太严重了
  • 网站大图做多大尺寸做网站的好处