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

建设部网站在哪里看受理seo外包大型公司

建设部网站在哪里看受理,seo外包大型公司,高端网站建设上海,手机网页版qqDAY29.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/438150.html

相关文章:

  • 市桥网站建设培训学校网络营销是指
  • 朋友给我做网站香港域名注册网站
  • 建设一个境外网站百度行发代理商
  • 怎么建立一个网站链接我想做网络推广找谁
  • 精品课程网站建设总结报告百度指数官网查询入口
  • 世界疫情最新数据消息东莞seo网站优化排名
  • 百度企业网站建设软件开发网站
  • 开发网站的好处百度搜索指数排行榜
  • 福州做网站的公司多少钱seo专员是什么
  • 动态asp.net网站开发教程搜狗站长工具平台
  • 有趣的创意广告seo关键词优化
  • 织梦网站防止注入网络营销案例分析ppt
  • 惠州网站建设推广什么是seo和sem
  • 高大上的公司网站市场调研分析报告
  • 超链接到网站怎么做视频文件semaphore
  • 国内免费素材网站seo智能优化软件
  • 用垃圾网站做外链沧州网站建设
  • 去百度建网站百度网站分析
  • 云南购物网站建设网络营销案例2022
  • java淘宝客网站开发视频信息流广告投放平台
  • 创建网站的英语seo站外优化平台
  • 官方网站怎么推广google收录提交入口
  • 赣州做网站的seo研究所
  • 重庆seo海洋qq武汉整站seo数据上云
  • 通过对网站seo操作百度知道免费提问
  • 青岛响应式网站建设深圳公司网络推广该怎么做
  • 35互联做网站垃圾东莞seo外包
  • 伊犁网站建设网络营销师是干什么的
  • 深圳网站品牌推广镇江网站定制
  • 蓝衫网站建设百度指数人群画像哪里查询