代码生成界面 /tool/gen

在这里插入图片描述

操作步骤

  1. 新增学生表
DROP TABLE IF EXISTS sys_student;
CREATE TABLE sys_student (student_id           INT(11)         AUTO_INCREMENT    COMMENT '编号',student_name         VARCHAR(30)     DEFAULT ''        COMMENT '学生名称',student_age          INT(3)          DEFAULT NULL      COMMENT '年龄',student_sex          CHAR(1)         DEFAULT '0'       COMMENT '性别(0男 1女 2未知)',student_status       CHAR(1)         DEFAULT '0'       COMMENT '状态(0正常 1停用)',student_birthday     DATETIME                          COMMENT '生日',remark               VARCHAR(500)    DEFAULT NULL      COMMENT '备注',PRIMARY KEY (student_id)
) ENGINE=INNODB AUTO_INCREMENT=1 COMMENT = '学生信息表';
  1. 登录系统(系统工具 -> 代码生成 -> 导入对应表)
  2. 代码生成列表中找到需要表(可预览、修改、删除生成配置)
  3. 点击生成代码会得到一个ruoyi.zip 执行sql文件,按照包内目录结构复制到自己的项目中即可

GenController控制代码生成操作处理

package com.ruoyi.generator.controller;import java.io.IOException;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.security.PermissionUtils;
import com.ruoyi.generator.domain.GenTable;
import com.ruoyi.generator.domain.GenTableColumn;
import com.ruoyi.generator.service.IGenTableColumnService;
import com.ruoyi.generator.service.IGenTableService;/*** 代码生成 操作处理* * @author ruoyi*/
@Controller
@RequestMapping("/tool/gen")
public class GenController extends BaseController
{private String prefix = "tool/gen";@Autowiredprivate IGenTableService genTableService;@Autowiredprivate IGenTableColumnService genTableColumnService;@RequiresPermissions("tool:gen:view")@GetMapping()public String gen(){return prefix + "/gen";}

导入表 /too;/gen/improtTable

    /*** 导入表结构*/@RequiresPermissions("tool:gen:list")@GetMapping("/importTable")public String importTable(){return prefix + "/importTable";}/*** 导入表结构(保存)*/@RequiresPermissions("tool:gen:list")@Log(title = "代码生成", businessType = BusinessType.IMPORT)@PostMapping("/importTable")@ResponseBodypublic AjaxResult importTableSave(String tables){String[] tableNames = Convert.toStrArray(tables);// 查询表信息List<GenTable> tableList = genTableService.selectDbTableListByNames(tableNames);String operName = (String) PermissionUtils.getPrincipalProperty("loginName");genTableService.importGenTable(tableList, operName);return AjaxResult.success();}

查询数据表列表 /tool/gen/list

    /*** 查询数据库列表*/@RequiresPermissions("tool:gen:list")@PostMapping("/db/list")@ResponseBodypublic TableDataInfo dataList(GenTable genTable){startPage();List<GenTable> list = genTableService.selectDbTableList(genTable);return getDataTable(list);}

生成代码 /tool/gen/batchGenCode

项目使用了Velocity模板引擎实现Java语言转换成HTML

VelocityInitializer

package com.ruoyi.generator.util;import java.util.Properties;
import org.apache.velocity.app.Velocity;
import com.ruoyi.common.constant.Constants;/*** VelocityEngine工厂* 生成HTML代码* * @author RuoYi*/
public class VelocityInitializer
{/*** 初始化vm方法*/public static void initVelocity(){Properties p = new Properties();try{// 加载classpath目录下的vm文件p.setProperty("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");// 定义字符集p.setProperty(Velocity.ENCODING_DEFAULT, Constants.UTF8);p.setProperty(Velocity.OUTPUT_ENCODING, Constants.UTF8);// 初始化Velocity引擎,指定配置PropertiesVelocity.init(p);}catch (Exception e){throw new RuntimeException(e);}}
}

service层

package com.ruoyi.generator.service.impl;import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.StringWriter;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import org.apache.commons.io.IOUtils;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.GenConstants;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.exception.BusinessException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.generator.domain.GenTable;
import com.ruoyi.generator.domain.GenTableColumn;
import com.ruoyi.generator.mapper.GenTableColumnMapper;
import com.ruoyi.generator.mapper.GenTableMapper;
import com.ruoyi.generator.service.IGenTableService;
import com.ruoyi.generator.util.GenUtils;
import com.ruoyi.generator.util.VelocityInitializer;
import com.ruoyi.generator.util.VelocityUtils;/*** 业务 服务层实现* * @author ruoyi*/
@Service
public class GenTableServiceImpl implements IGenTableService
{private static final Logger log = LoggerFactory.getLogger(GenTableServiceImpl.class);@Autowiredprivate GenTableMapper genTableMapper;@Autowiredprivate GenTableColumnMapper genTableColumnMapper;/*** 查询业务信息* * @param id 业务ID* @return 业务信息*/@Overridepublic GenTable selectGenTableById(Long id){GenTable genTable = genTableMapper.selectGenTableById(id);setTableFromOptions(genTable);return genTable;}/*** 查询业务列表* * @param genTable 业务信息* @return 业务集合*/@Overridepublic List<GenTable> selectGenTableList(GenTable genTable){return genTableMapper.selectGenTableList(genTable);}/*** 查询据库列表* * @param genTable 业务信息* @return 数据库表集合*/@Overridepublic List<GenTable> selectDbTableList(GenTable genTable){return genTableMapper.selectDbTableList(genTable);}/*** 查询据库列表* * @param tableNames 表名称组* @return 数据库表集合*/@Overridepublic List<GenTable> selectDbTableListByNames(String[] tableNames){return genTableMapper.selectDbTableListByNames(tableNames);}/*** 修改业务* * @param genTable 业务信息* @return 结果*/@Override@Transactionalpublic void updateGenTable(GenTable genTable){String options = JSON.toJSONString(genTable.getParams());genTable.setOptions(options);int row = genTableMapper.updateGenTable(genTable);if (row > 0){for (GenTableColumn cenTableColumn : genTable.getColumns()){genTableColumnMapper.updateGenTableColumn(cenTableColumn);}}}/*** 删除业务对象* * @param ids 需要删除的数据ID* @return 结果*/@Override@Transactionalpublic void deleteGenTableByIds(String ids){genTableMapper.deleteGenTableByIds(Convert.toLongArray(ids));genTableColumnMapper.deleteGenTableColumnByIds(Convert.toLongArray(ids));}/*** 导入表结构* * @param tableList 导入表列表* @param operName 操作人员*/@Override@Transactionalpublic void importGenTable(List<GenTable> tableList, String operName){for (GenTable table : tableList){try{String tableName = table.getTableName();GenUtils.initTable(table, operName);int row = genTableMapper.insertGenTable(table);if (row > 0){// 保存列信息List<GenTableColumn> genTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);for (GenTableColumn column : genTableColumns){GenUtils.initColumnField(column, table);genTableColumnMapper.insertGenTableColumn(column);}}}catch (Exception e){log.error("表名 " + table.getTableName() + " 导入失败:", e);}}}/*** 预览代码* * @param tableId 表编号* @return 预览数据列表*/@Overridepublic Map<String, String> previewCode(Long tableId){Map<String, String> dataMap = new LinkedHashMap<>();// 查询表信息GenTable table = genTableMapper.selectGenTableById(tableId);// 查询列信息List<GenTableColumn> columns = table.getColumns();setPkColumn(table, columns);VelocityInitializer.initVelocity();VelocityContext context = VelocityUtils.prepareContext(table);// 获取模板列表List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory());for (String template : templates){// 渲染模板StringWriter sw = new StringWriter();Template tpl = Velocity.getTemplate(template, Constants.UTF8);tpl.merge(context, sw);dataMap.put(template, sw.toString());}return dataMap;}/*** 生成代码* * @param tableName 表名称* @return 数据*/@Overridepublic byte[] generatorCode(String tableName){// 生成输出流ByteArrayOutputStream outputStream = new ByteArrayOutputStream();// 生成打包流ZipOutputStream zip = new ZipOutputStream(outputStream);// 生成代码并打包generatorCode(tableName, zip);// 关闭流,忽略空值和异常IOUtils.closeQuietly(zip);// 将输出流转换为字节数组并返回return outputStream.toByteArray();}/*** 批量生成代码* * @param tableNames 表数组* @return 数据*/@Overridepublic byte[] generatorCode(String[] tableNames){ByteArrayOutputStream outputStream = new ByteArrayOutputStream();ZipOutputStream zip = new ZipOutputStream(outputStream);for (String tableName : tableNames){generatorCode(tableName, zip);}IOUtils.closeQuietly(zip);return outputStream.toByteArray();}/*** 查询表信息并生成代码*/private void generatorCode(String tableName, ZipOutputStream zip){// 查询表信息(表的名字、注释、类的名字、表类型、模块名、业务名……)GenTable table = genTableMapper.selectGenTableByName(tableName);// 查询列信息(学生编号、学生名称、学生年龄……)List<GenTableColumn> columns = table.getColumns();// 设置主键列信息 主键在GenTable中有是否是主键的字段setPkColumn(table, columns);// 设置Velocity模板引擎相关属性VelocityInitializer.initVelocity();// 设置模板变量信息VelocityContext context = VelocityUtils.prepareContext(table);// 获取模板列表List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory());for (String template : templates){// 渲染模板StringWriter sw = new StringWriter();Template tpl = Velocity.getTemplate(template, Constants.UTF8);tpl.merge(context, sw);try{// 添加到zipzip.putNextEntry(new ZipEntry(VelocityUtils.getFileName(template, table)));IOUtils.write(sw.toString(), zip, Constants.UTF8);IOUtils.closeQuietly(sw);zip.flush();zip.closeEntry();}catch (IOException e){log.error("渲染模板失败,表名:" + table.getTableName(), e);}}}/*** 修改保存参数校验* * @param genTable 业务信息*/@Overridepublic void validateEdit(GenTable genTable){if (GenConstants.TPL_TREE.equals(genTable.getTplCategory())){String options = JSON.toJSONString(genTable.getParams());JSONObject paramsObj = JSONObject.parseObject(options);if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_CODE))){throw new BusinessException("树编码字段不能为空");}else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_PARENT_CODE))){throw new BusinessException("树父编码字段不能为空");}else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_NAME))){throw new BusinessException("树名称字段不能为空");}}}/*** 设置主键列信息* * @param genTable 业务表信息* @param columns 业务字段列表*/public void setPkColumn(GenTable table, List<GenTableColumn> columns){for (GenTableColumn column : columns){if (column.isPk()){table.setPkColumn(column);break;}}if (StringUtils.isNull(table.getPkColumn())){table.setPkColumn(columns.get(0));}}/*** 设置代码生成其他选项值* * @param genTable 设置后的生成对象*/public void setTableFromOptions(GenTable genTable){JSONObject paramsObj = JSONObject.parseObject(genTable.getOptions());if (StringUtils.isNotNull(paramsObj)){String treeCode = paramsObj.getString(GenConstants.TREE_CODE);String treeParentCode = paramsObj.getString(GenConstants.TREE_PARENT_CODE);String treeName = paramsObj.getString(GenConstants.TREE_NAME);genTable.setTreeCode(treeCode);genTable.setTreeParentCode(treeParentCode);genTable.setTreeName(treeName);}}
}
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 再读《与大象共舞》

    再读《与大象共舞》这是一本国人写的书,郭士纳那本叫《谁说大象不能跳舞》,不过该书作者长期供职于IBM和通用,所以内容也是近眼观察和经历,它不是意淫拼凑也不是流水记录经历和感受,这就值得一读。该书的副标题是“向IBM学转型”,但其实这不是一本讨论企业转型的书,其本…...

    2024/4/17 6:58:54
  2. 若依框架子模块创建后生成的页面都是404问题解决方案

    这个是我在语雀上写的文章点进去就是了(懒得去复制过来)。 https://www.yuque.com/dapeng-srmpj/na3n3z/pt3xfy 其他的文章都是我和同学在使用若依做项目出现各种问题解决方案,有兴趣的同学也可以随意看看。...

    2024/3/31 20:36:48
  3. Spring的JdbcTemplate自动关闭连接

    来源:https://blog.csdn.net/partner4java/article/details/7012196JdbcTemplate类使用DataSource得到一个数据库连接。然后,他调用StatementCreator实例创建要执行的语句。下一步,他调用StatementCallBack完成。一旦StatementCallBack返回结果,JdbcTemplate类完成所有必要…...

    2024/4/18 21:23:51
  4. 转:机器人工程师学习计划(YY硕)(后悔自己没有早点看到强力推荐)

    申明:转载自知乎——YY硕 地址:https://zhuanlan.zhihu.com/p/22266788作者:YY硕 链接:https://zhuanlan.zhihu.com/p/22266788 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。前言很多朋友私信问我对机器人和人工智能感兴趣,该怎…...

    2024/4/17 6:59:06
  5. docker 容器下运行tomcat 部署应用

    docker安装tomcat查找Docker Hub上的tomcat镜像runoob@runoob:~/tomcat$ docker search tomcat NAME DESCRIPTION STARS OFFICIAL AUTOMATED tomcat Apache Tomcat is an open source im…...

    2024/4/17 6:58:48
  6. UML图解简单工厂模式&工厂方法模式&抽象工厂模式区别

    简述 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一; 工厂模式包含简单工厂模式&工厂方法模式&抽象工厂模式这三种; 这三者主要区别在于工厂实现的复杂度,以及是否符合“开发-封闭”原则;工厂模式:说白了就是创建对象,使用Factory模式替代使用new创…...

    2024/4/18 14:16:00
  7. BASE64Encoder及BASE64Decoder报错的正确用法

    一直以来Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的sun.misc.BASE64Encoder/BASE64Decoder类。这人个类是sun公司的内部方法,并没有在javaapi中公开过,不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。但是在eclipse和MyEclipse中直接…...

    2024/4/17 6:58:48
  8. 登录系统

    流程:各模块组成如下,layers放UI界面文件,logic放逻辑处理文件,这样界面跟逻辑分开方便各自独立处理。service下的Net可以用来接收客户端发的消息,再发给服务器,而eventManager是负责把服务器返回的消息分发给modules下相应的模块。 modules用于放各个模块,如登录、商店等…...

    2024/4/12 10:49:05
  9. Contacts启动

    step1.<a target=_blank class="header" href="" target="_blank"><span style="color:#000000;">SyncSimAccountsReceiver</span></a>.onReceive 这个函数在:/ContactsProvider/src/com/sprd/providers/con…...

    2024/4/4 22:36:22
  10. 设计模式中的工厂类图

    工厂模式(易混淆,好不容易用会magicdraw:)) 1、简单工厂方法2、工厂方法3、抽象工厂方法...

    2024/4/17 6:58:54
  11. SpringBoot项目-验证码生成

    前言:本实验是从若依的SpringBoot项目中 提取出来讲解的验证码生成。生成验证码所使用的插件:kaptcha目录一、引入依赖二、编写配置类三、编写一个生成数字运算的验证码类四、编写Controller类,处理生成验证码请求一、引入依赖springboot web项目,因此这里要引入 springboo…...

    2024/4/17 6:57:48
  12. 《财富》推荐的75部必看书籍

    http://blog.csdn.net/zjx2388/article/details/2793652(周末在家对网上早就有的“《财富》推荐的75本必读书”进行了一番整理,将一些新出的中文版作为补注添加进去了) 在一个完美的世界里,我们每个人都该有自己的“军师”,就像《教父》里的那位律师,或是德尔斐神庙的神使…...

    2024/4/17 6:58:30
  13. ContentProvider读取Contacts时报错

    报错: java.lang.SecurityException:com.android.providers.contacts.contactsProvider 原因: 需要在androidManiFest.xml声明权限: <uses-permission android:name="android.permission.READ_CONTACTS"/>...

    2024/4/17 7:00:00
  14. shiro 和webservice cxf版权限控制解决方案

    shiro 和webservice cxf版权限控制解决方案 说明: 1:webservice 是无状态的,所以每次登陆要求传入用户名和密码 2:由于涉及 每次都要登陆和验证,如果接口频繁调用就会形成数据库压力过大, 需要用到缓存 3:本教程用到springAOP需要一定基础 ** 基础解决方案:(原理,不推…...

    2024/4/17 6:58:30
  15. 04Spring - Spring工厂的类图结构(ApplicationContext)

    Spring中工厂的类图结构BeanFactory 和 ApplicationContext的区别BeanFactory 才是Spring 容器中的底层接口,ApplicationContext是它的子接口。 ApplicationContext只要一读取配置文件,默认情况下就会创建对象。BeanFactory是么时候使用就什么时候创建对象。ApplicationConte…...

    2024/4/17 6:59:30
  16. Oracle DBA手记4:数据安全警示录

    Oracle DBA手记4:数据安全警示录 盖国强 著 ISBN978-7-121-17206-9 2012年7月出版 定价:65.00元 16开 404页 宣传语 灾难与拯救 全真全程商业案例! 内 容 简 介 这是一本写给大家看的数据安全之书,不仅仅是给技术人员,更重要的是给企业数据管理者,如果不看这些案例,你也…...

    2024/4/17 6:59:42
  17. android联系人重名,导致共用contactId的解决办法

    /**author cyw 2011-7-20*/android本身的机制:当用provider添加联系人时候,每次添加,都要和以往的用户名字做比较,如果发现重名的时候,会把后者的所有信息添加到前者里,导致一个contactId有两个人名两个昵称,本来是想要两个人,结果变成一个人了。 解决办法:生成新的一…...

    2024/4/17 6:59:54
  18. Python3里面base64 & binascii(a2b_base64,b2a_base64)的编码和解码

    python中有关encode()和decode()函数的应用,可以参考: https://blog.csdn.net/m0_38080253/article/details/78841280base64编码和解码import base64copyright = a123456def main():#转成bytes stringbytesString = copyright.encode(encoding="utf-8")print(&…...

    2024/4/17 7:00:06
  19. 第一天:简单工厂模式与UML类图

    何为简单工厂模式: 通过专门定义一个类,来负责创建其他类的实例,这些其它类通常具有共同的父类。简单工厂模式的UML类图:简单工厂模式中包含的角色和相应的职责如下:工厂类Creator:简单工厂模式的核心,负责创建所有类的实例。该工厂类必须能够被客户端类调用,创建所…...

    2024/4/17 6:58:30
  20. Android6.0中设置权限时候的SecurityException异常的处理

    说来也巧了,今天碰到了一个特别奇怪的问题。上午写了一个小demo其中有一个功能是获取通讯的,大家肯定知道这时候肯定要添加一个权限:<!-- 读联系人权限 --><uses-permission android:name="android.permission.READ_CONTACTS" /> 添加完后就开始运行了…...

    2024/4/17 7:01:00

最新文章

  1. 古典密码学简介

    目录 C. D. Shannon: 一、置换密码 二、单表代替密码 ① 加法密码 ② 乘法密码 ③密钥词组代替密码 三、多表代替密码 代数密码 四、古典密码的穷举分析 1、单表代替密码分析 五、古典密码的统计分析 1、密钥词组单表代替密码的统计分析 2、英语的统计规…...

    2024/5/3 13:00:43
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. 第37篇:分频器<四>

    Q&#xff1a;介绍完计数器分频电路概念原理之后&#xff0c;本期我们设计实现四分频计数器分频电路。 A&#xff1a;使用DE2-115开发板的KEY[1]作为时钟i_clk输入&#xff0c;KEY[0]作为清零复位i_rst输入&#xff0c;LEDR[0]显示分频后的时钟o_clk输出值&#xff0c;LEDR[3:…...

    2024/4/30 16:33:48
  4. 汽车疲劳测试试验平台技术要求(北重厂家)

    汽车疲劳测试试验平台技术要求通常包括以下几个方面&#xff1a; 车辆加载能力&#xff1a;测试平台需要具备足够的承载能力&#xff0c;能够同时测试多种车型和不同重量的车辆。 动力系统&#xff1a;测试平台需要具备稳定可靠的动力系统&#xff0c;能够提供足够的力和速度来…...

    2024/5/3 8:56:17
  5. 分享一个Python爬虫入门实例(有源码,学习使用)

    一、爬虫基础知识 Python爬虫是一种使用Python编程语言实现的自动化获取网页数据的技术。它广泛应用于数据采集、数据分析、网络监测等领域。以下是对Python爬虫的详细介绍: 架构和组成:下载器:负责根据指定的URL下载网页内容,常用的库有Requests和urllib。解析器:用于解…...

    2024/5/2 2:37:38
  6. 【外汇早评】美通胀数据走低,美元调整

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

    2024/5/1 17:30:59
  7. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/5/2 16:16:39
  8. 【外汇周评】靓丽非农不及疲软通胀影响

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

    2024/4/29 2:29:43
  9. 【原油贵金属早评】库存继续增加,油价收跌

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

    2024/5/2 9:28:15
  10. 【外汇早评】日本央行会议纪要不改日元强势

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

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

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

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

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

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

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

    2024/4/30 9:43:09
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

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

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

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

    2024/5/2 15:04:34
  16. 【外汇早评】美伊僵持,风险情绪继续升温

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

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

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

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

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

    2024/4/29 20:46:55
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

    2024/4/30 22:21:04
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

    2024/5/1 4:32:01
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

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

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

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

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

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

    2024/4/30 9:42:22
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/5/2 9:07:46
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

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

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

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

    2022/11/19 21:17:18
  27. 错误使用 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
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,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
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:16:58
  45. 如何在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