SpringBoot整合spring-data-jpa

jpa 是JavaEE定义的一种规范,常用的实现一般是 Hibernate,而 spring-data-jpa 则是对jpa的又一层封装,提供了更多便捷的方法。

这里不会深入讲解spring-data-jpa的使用,只是讲解怎么快速的整合使用,目的是帮助那些想学,但是在整合上老是翻车的同学

导入依赖

<dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId>
</dependency>
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

配置

spring:data:jpa:repositories:# 开启jpaenabled: truebootstrap-mode: defaultjpa:# 数据库方言database-platform: org.hibernate.dialect.MySQL57Dialectopen-in-view: false# 打印SQLshow-sql: falseproperties:# 格式化输出的SQL语句hibernate.format_sql: falsehibernate:# 自动建表策略ddl-auto: update

这里忽略了数据源的配置

关于自动建表策略

# 枚举值
spring.jpa.hibernate.ddl-auto
create				不管表是否存在, 每次启动都会重新建表(会导致数据丢失)
create-drop			启动的时候创建表, 程序退出(SessionFactory关闭)的时候删除表
none				不进行任何操作
update				如果数据表不存在则创建, 在实体对象被修改后,下次启动重新修改表结构(不会删除已经存在的数据)
validate			启动的时候验证数据表的结构, 

相关的配置类

这里仅仅列出了部分常用的配置,如果需要了解所有的配置信息,可以参考配置类

  • JpaProperties (spring.jpa)
  • SpringDataWebProperties (spring.data.web)
  • HibernateProperties (spring.jpa.hibernate)

相关配置的文档
https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html#data-properties

定义实体类

User

import java.io.Serializable;
import java.time.LocalDateTime;import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Index;
import javax.persistence.Table;// 指定表名称
@Table(name = "user", indexes = {// 定义索引@Index(columnList = "account", unique = true) 
})
// 标识实体类
@Entity
// 设置表注释
@org.hibernate.annotations.Table(appliesTo = "user", comment = "用户")
public class User implements Serializable {/*** */private static final long serialVersionUID = 4953012795378725917L;@Id // id 字段@Column(columnDefinition = "INT(11) UNSIGNED COMMENT 'id'")@GeneratedValue(strategy = GenerationType.IDENTITY) // 自增private Integer id;// 账户@Column(columnDefinition = "VARCHAR(50) COMMENT '登录账户'", nullable = false)private String account;// 密码@Column(columnDefinition = "VARCHAR(255) COMMENT '登录密码'", nullable = false)private String password;// 性别@Column(columnDefinition = "TINYINT(1) COMMENT '性别。0:男,1:女'", nullable = false)@Enumeratedprivate Gender gender;// 创建时间@Column(name = "created_date", columnDefinition = "timestamp DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'", nullable = false)private LocalDateTime createdDate;// 最后修改时间@Column(name = "last_modified_date", columnDefinition = "timestamp NULL DEFAULT NULL COMMENT '最后一次修改时间'")private LocalDateTime lastModifiedDate;// 记录状态@Column(columnDefinition = "TINYINT(1) unsigned COMMENT '是否启用'", nullable = false)private Boolean enabled;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getAccount() {return account;}public void setAccount(String account) {this.account = account;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Gender getGender() {return gender;}public void setGender(Gender gender) {this.gender = gender;}public LocalDateTime getCreatedDate() {return createdDate;}public void setCreatedDate(LocalDateTime createdDate) {this.createdDate = createdDate;}public LocalDateTime getLastModifiedDate() {return lastModifiedDate;}public void setLastModifiedDate(LocalDateTime lastModifiedDate) {this.lastModifiedDate = lastModifiedDate;}public Boolean getEnabled() {return enabled;}public void setEnabled(Boolean enabled) {this.enabled = enabled;}@Overridepublic String toString() {return "User [id=" + id + ", account=" + account + ", password=" + password + ", gender=" + gender+ ", createdDate=" + createdDate + ", lastModifiedDate=" + lastModifiedDate + ", enabled=" + enabled+ "]";}public static enum Gender {BOY, GIRL}
}

Repository

抽象出BaseRepository

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.NoRepositoryBean;@NoRepositoryBean  // 该接口不是一个Repository,不需要生成代理实现
public interface BaseRepository <T, ID> extends JpaRepository<T, ID>, JpaSpecificationExecutor <T>// , QuerydslPredicateExecutor<T>  如果使用了QueryDSL还可以实现这个接口
{}

定义 UserRepository

import io.springboot.jpa.entity.User;public interface UserRepository extends BaseRepository<User, Integer> {}

Service

抽象出 BaseService

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;public interface BaseService<T, ID> extends JpaRepository<T, ID>, JpaSpecificationExecutor <T>// , QuerydslPredicateExecutor<T>  
{}

抽象出 AbstractService

import java.util.List;
import java.util.Optional;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.transaction.annotation.Transactional;import io.springboot.jpa.repository.BaseRepository;public abstract class AbstractService<T, ID> implements BaseService <T, ID> {/*** 泛型注入*/@Autowiredprotected BaseRepository<T, ID> baseRepository;@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public List<T> findAll() {return this.baseRepository.findAll();}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public List<T> findAll(Sort sort) {return this.baseRepository.findAll(sort);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public List<T> findAllById(Iterable<ID> ids) {return this.baseRepository.findAllById(ids);}@Override@Transactional(rollbackFor = Throwable.class)public <S extends T> List<S> saveAll(Iterable<S> entities) {return this.baseRepository.saveAll(entities);}@Override@Transactional(rollbackFor = Throwable.class)public void flush() {this.baseRepository.flush();}@Transactional(rollbackFor = Throwable.class)public <S extends T> S saveAndFlush(S entity) {return this.baseRepository.saveAndFlush(entity);}@Override@Transactional(rollbackFor = Throwable.class)public void deleteInBatch(Iterable<T> entities) {this.baseRepository.deleteInBatch(entities);}@Override@Transactional(rollbackFor = Throwable.class)public void deleteAllInBatch() {this.baseRepository.deleteAllInBatch();}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public T getOne(ID id) {return this.baseRepository.getOne(id);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public <S extends T> List<S> findAll(Example<S> example) {return this.baseRepository.findAll(example);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public <S extends T> List<S> findAll(Example<S> example, Sort sort) {return this.baseRepository.findAll(example, sort);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public Page<T> findAll(Pageable pageable) {return this.baseRepository.findAll(pageable);}@Override@Transactional(rollbackFor = Throwable.class)public <S extends T> S save(S entity) {return this.baseRepository.save(entity);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public Optional<T> findById(ID id) {return this.baseRepository.findById(id);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public boolean existsById(ID id) {return this.baseRepository.existsById(id);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public long count() {return this.baseRepository.count();}@Override@Transactional(rollbackFor = Throwable.class)public void deleteById(ID id) {this.baseRepository.deleteById(id);}@Override@Transactional(rollbackFor = Throwable.class)public void delete(T entity) {this.baseRepository.delete(entity);}@Override@Transactional(rollbackFor = Throwable.class)public void deleteAll(Iterable<? extends T> entities) {this.baseRepository.deleteAll(entities);}@Override@Transactional(rollbackFor = Throwable.class)public void deleteAll() {this.baseRepository.deleteAll();}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public <S extends T> Optional<S> findOne(Example<S> example) {return this.baseRepository.findOne(example);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public <S extends T> Page<S> findAll(Example<S> example, Pageable pageable) {return this.baseRepository.findAll(example, pageable);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public <S extends T> long count(Example<S> example) {return this.baseRepository.count(example);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public <S extends T> boolean exists(Example<S> example) {return this.baseRepository.exists(example);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public Optional<T> findOne(Specification<T> spec) {return this.baseRepository.findOne(spec);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public List<T> findAll(Specification<T> spec) {return this.baseRepository.findAll(spec);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public Page<T> findAll(Specification<T> spec, Pageable pageable) {return this.baseRepository.findAll(spec, pageable);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public List<T> findAll(Specification<T> spec, Sort sort) {return this.baseRepository.findAll(spec, sort);}@Override@Transactional(readOnly = true, rollbackFor = Throwable.class)public long count(Specification<T> spec) {return this.baseRepository.count(spec);}
}

定义 UserService

import org.springframework.stereotype.Service;import io.springboot.jpa.entity.User;@Service
public class UserService extends AbstractService<User, Integer> {}

添加注解驱动

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;@SpringBootApplication
@EnableJpaRepositories(basePackages = { "io.springboot.jpa.repository" })
@EntityScan(basePackages = { "io.springboot.jpa.entity" })
public class JpaApplication {public static void main(String[] args) {SpringApplication.run(JpaApplication.class, args);}
}

@EnableJpaRepositories 指定 repository 所在的包
@EntityScan 指定entity 所在的包

测试

import io.springboot.jpa.JpaApplication;
import io.springboot.jpa.entity.User;
import io.springboot.jpa.service.UserService;import java.time.LocalDateTime;import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;@RunWith(SpringRunner.class)
@SpringBootTest(classes = JpaApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class JpaApplicationTest {static final Logger LOGGER = LoggerFactory.getLogger(JpaApplicationTest.class);@AutowiredUserService userService;@Testpublic void test () {// 存储User user = new User();user.setAccount("kevinblandy.cn@gmail.com");user.setPassword("123456");user.setGender(User.Gender.GIRL);user.setEnabled(Boolean.TRUE);user.setCreatedDate(LocalDateTime.now());this.userService.save(user);LOGGER.info("save success.....");// 检索User results = this.userService.findById(user.getId()).orElseGet(null);LOGGER.info("query result={}", results);}
}

自动创建的表

CREATE TABLE `user` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',`account` varchar(50) NOT NULL COMMENT '登录账户',`created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`enabled` tinyint(1) unsigned NOT NULL COMMENT '是否启用',`gender` tinyint(1) NOT NULL COMMENT '性别。0:男,1:女',`last_modified_date` timestamp NULL DEFAULT NULL COMMENT '最后一次修改时间',`password` varchar(255) NOT NULL COMMENT '登录密码',PRIMARY KEY (`id`),UNIQUE KEY `UKdnq7r8jcmlft7l8l4j79l1h74` (`account`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户';

执行的日志

Hibernate: insert intouser(account, created_date, enabled, gender, last_modified_date, password) values(?, ?, ?, ?, ?, ?)
2020-06-23 17:57:36.264  INFO 7612 --- [           main] i.s.jpa.test.JpaApplicationTest          : save success.....
Hibernate: selectuser0_.id as id1_0_0_,user0_.account as account2_0_0_,user0_.created_date as created_3_0_0_,user0_.enabled as enabled4_0_0_,user0_.gender as gender5_0_0_,user0_.last_modified_date as last_mod6_0_0_,user0_.password as password7_0_0_ fromuser user0_ whereuser0_.id=?
2020-06-23 17:57:36.303  INFO 7612 --- [           main] i.s.jpa.test.JpaApplicationTest          : query result=User [id=1, account=kevinblandy.cn@gmail.com, password=123456, gender=GIRL, createdDate=2020-06-23T17:57:36, lastModifiedDate=null, enabled=true]

最后

整合的步骤

  • 添加依赖
  • 添加配置
  • 定义实体类
  • 定义Repositroy
  • 定义Servive
  • 添加注解驱动,指定Repositroy和实体类的路径

JPA + QueryDSL才是最佳搭档

单纯的用JPA,局限还是蛮多,不够灵活。但是配合QueryDsl,一切都会不一样。有空我会专门写这个教程。感受到QueryDsl魅力后,保证你从此都不会在用MyBatis(我就是 👀)

同步发布 https://springboot.io/t/topic/2112

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. oracle详细使用

    oracle 文章目录oracle1、基础设置环境参数编辑类命令报表表示创建报表2、管理表空间基本表空间3、用户管理创建用户修改用户权限查看系统权限授予权限4、常用的数据类型字符数据类型数字数据类型日期数据类型5、管理表创建表修改表删除表约束查看约束约束的使用索引(unique)视…...

    2024/4/15 2:56:15
  2. arcgis统计矢量范围内栅格数据像元值个数

    arcgis统计矢量范围内栅格像元值个数数据区域制表(Tabulate Area)栅格统计栅格 有小伙伴说,我对数据做完分类后,怎么对分类后的栅格数据,按矢量区划对分类后的像元值的类别 分别做统计呢? 数据 有矢量数据查看矢量的属性表,我们需要按FID的唯一识别作为我们的矢量输入的统…...

    2024/4/24 15:05:11
  3. 《明解C语言》课后全部,作者柴田望洋

    @TOC#明解C语言全部答案 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标…...

    2024/4/28 16:54:49
  4. 史上最强java的poi工具excel操作工具easyexcel

    https://www.yuque.com/easyexcel/doc/easyexcel 64M内存1分钟内读取75M(46W行25列)的Excel 当然还有急速模式能更快,但是内存占用会在100M多一点 阿里开源组件,牛到不行!!!!!...

    2024/4/24 15:05:09
  5. Element-ui表格合并

    Element-ui表格合并,并添加合计、小计功能 #最近Vue项目需要用到表格合并功能、合并小计和合并功能(用于数据的展示),所以进行记录一下,废话少说(本人也是小白),贴图一张(效果图)首先是贴HTML页面的代码 <template><div class="container"><…...

    2024/4/28 2:31:56
  6. CML (Chameleon) 周报 2020 | 6.15 - 6.19

    CML,一套代码运行多端,一端所见即多端所见 GitHub: https://github.com/didi/chameleon【New-Feature】web端动态加载支持自定义名称 小程序端包体积优化-智能分包(进度10%) 支持弹窗API图层以base64形式嵌入 支持本地存储的同步API版本【组件扩展】c-design【规范和建议】…...

    2024/4/15 2:56:33
  7. Zookeeper角色和ZAB协议

    1. Zookeeper角色Zookeeper中角色包含Leader,Follower和Observer;其中Follower用于接收客户端请求,并且再选主过程中会参与投票;Observer可以接收客户端请求,并把写请求转发到Leader节点,但不参加投票;2. ZAB协议主备模式消息广播崩溃恢复保证选举出来的Leader拥有整个集…...

    2024/4/28 1:23:58
  8. 一、Docker概述

    一、Docker概述 一、Docker为什么出现?jar在开发环境到生产环境的过程中,会遇到一系列环境的问题–>(redis、ES、mysql、Jdk、…)docker在这个问题上能解决的问题是 在打包jar的时候可以直接将环境打包 省去了每次都要配置环境的时间,既省时又省力。传统的开发模式:开…...

    2024/4/27 22:11:31
  9. 完整枚举类enum

    /*** 场景权限-设备-地点*/ public enum EquipmentScodeEnum {SHANGHAI("SH",1), NANTONG("NT",2);/*** Scode加密前缀*/private String prefix;/*** 公司代号: 1 上海 2南通*/private int companyId;private EquipmentScodeEnum(String prefix, int comp…...

    2024/4/15 2:56:30
  10. 简述js闭包

    js闭包是一种特殊的代码结构,可以间接的来访问内部私有变量 可以简单的理解为是函数中嵌套函数(返回函数)举个例子 function f1() {let str = 我是一段文字return function () {return str;} } let str1 = f1()()闭包的特点可以通过闭包的结构来间接访问函数中的私有数据 保…...

    2024/4/28 4:51:29
  11. C语言 输入某班学生某门课的成绩,学生人数不超过40人,并统计不及格人数

    在该代码中,以输入成绩为负数时停止输入 #include<stdio.h> #define N 40 int readscore(int score[]) {int i=-1;printf("请输入成绩(输入负数时停止录入成绩,且输入成绩的人数不超过40人):\n");do{i++;scanf("%d",&score[i]);}while(score[…...

    2024/4/20 8:14:40
  12. 推荐系统代码流程梳理

    整体概述 介绍完所有的单个推荐系统算法后,我们迎来将他们整合到一起的日子。首先这个整合代码整体并不难就是将每一个推荐算法训练完加入评估器的算法池中,再对其进行评估。 接下来我们来看看这个文件中我们需要导入的第三方包: from MovieLens import MovieLens # 自己写…...

    2024/4/28 2:21:08
  13. 1198. 【高精度练习】减法神童(高精度减法模板)

    祝贺自己20原创!(撒花……) 这道题和加法一样……直接不多bb放程序…… #include<cstdio> #include<cstring> using namespace std; int main() {int a[999]={0},b[999]={0},c[999]={0},lena,lenb,lenc,i;char n[999],n1[999],n2[999];scanf("%s",n1)…...

    2024/4/28 5:49:17
  14. JAVA线程的生命周期

    ...

    2024/4/28 17:00:08
  15. Git管理系统(一)

    Git是一个流行的并且被广泛使用的源管理系统,他极大地简化了开发周期。他让用户可以为内容开发创建分支、使用分支并且在分支之间进行切换,就像在日常工作流程中创建文件并且在文件之间进行切换一样容易。git是使用一种快速、有效的架构来实现的,这种架构使得实验能够便利进…...

    2024/4/27 21:25:24
  16. 编译原理实践:C++实现词法分析器(学习笔记)

    编译原理实践:C++实现词法分析器(学习笔记)实践说明输入举例(input.txt)输出举例(output.txt)编程平台代码实现程序环境设置主函数定义单词获取单词检索特殊词法处理 实践说明 【题目要求】 编写C++程序分析当前目录下input.txt文件中的词法,以“(种别码,单词)”的形式…...

    2024/4/28 13:29:40
  17. Spring Cloud学习笔记(一)概要

    什么是微服务马丁福勒 ,他于2014年发表了一篇关于微服务的博客 博客:https://martinfowler.com/microservices/ 微服务详细文档: 英文:https://martinfowler.com/articles/microservices.html#MicroservicesAndSoa微服务是一种架构风格,是以开发一组小型服务的方式来作为一…...

    2024/4/28 9:30:21
  18. 微信小程序里面的标签和html标签的对比、微信小程序基础之常用控件

    前言:找的大神的一篇专门来介绍标签的下面我就列出常用的标签及其分类。能够帮助之前没有经历过微信小程序前端开发的同学能够快速熟悉。...

    2024/4/15 2:56:21
  19. crontab 控制shell写入文件,文件找不到

    crontab我定位的是相对路径,所以log只会 在crontab的当前路径生成。我们进入crontab查看你用哪个工具执行,在Linux中就会以 工具的路径定位,而不是你启动的任务的jar的位置由于crontab 默认执行路径为 /root所以我们进入 rootcd /root查看到了相关的log日志...

    2024/4/23 3:08:41
  20. css渐变写法 从左到右渐变三种颜色示例

    background: linear-gradient(to right,#061aa8,#2bafc2,#fd2a15);实现效果:...

    2024/4/15 2:56:19

最新文章

  1. 多目标果蝇算法及其MATLAB实现

    果蝇算法最早的文献是由台湾华夏科技大学的潘文超教授于2011年提出来的。该算法是基于果蝇觅食行为的仿生学原理而提出的一种新兴群体智能优化算法&#xff0c;被称为果蝇优化算法(Fruit Fly Optimization Algorithm, FOA)。通过模拟果蝇利用敏锐的嗅觉和视觉进行捕食的过程&am…...

    2024/4/28 18:39:50
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 利用Sentinel解决雪崩问题(一)

    1、解决雪崩问题的常见方式有四种: 超时处理:设定超时时间&#xff0c;请求超过一定时间没有响应就返回错误信息&#xff0c;不会无休止等待;舱壁模式:限定每个业务能使用的线程数&#xff0c;避免耗尽整个tomcat的资源&#xff0c;因此也叫线程隔离;熔断降级:由断路器统计业务…...

    2024/4/24 3:11:43
  4. 全局UI方法-弹窗四-日期滑动选择器弹窗(DatePickerDialog)

    1、描述 根据指定的日期范围创建日期滑动选择器&#xff0c;展示在弹窗上。 2、接口 DatePickerDialog.show(options?: DatePickerDialogOptions) 3、DatePickerDialogOptions 参数名称 参数类型 必填 默认值 参数描述 start Date 否 Date("1970-1-1") 设置选择…...

    2024/4/28 8:03:19
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/28 13:52:11
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/28 3:28:32
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/28 13:51:37
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/28 15:57:13
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/28 1:22:35
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57