如何建设网站知乎wordpress 相册模式

web/2025/9/28 3:24:25/文章来源:
如何建设网站知乎,wordpress 相册模式,上海装修公司排名榜,wordpress增加关键词和描述总览 我们将讨论的主题包括使用Spring Batch进行批处理的基本概念#xff0c;以及如何将数据从CSV导入数据库。 0 – Spring Batch CSV处理示例应用程序 我们正在构建一个应用程序#xff0c;该应用程序演示Spring Batch处理CSV文件的基础。 我们的演示应用程序将允许我们处… 总览 我们将讨论的主题包括使用Spring Batch进行批处理的基本概念以及如何将数据从CSV导入数据库。 0 – Spring Batch CSV处理示例应用程序 我们正在构建一个应用程序该应用程序演示Spring Batch处理CSV文件的基础。 我们的演示应用程序将允许我们处理CSV文件其中包含数百条日本动漫标题的记录。 0.1 – CSV 我已经从这个Github存储库中下载了将要使用的CSV文件它提供了相当全面的动漫列表。 这是在Microsoft Excel中打开的CSV的屏幕截图 查看并从 Github 下载代码 1 –项目结构 2 –项目依赖性 除了典型的Spring Boot依赖关系外我们还包括spring-boot-starter-batch这是对Spring Batch的依赖顾名思义和hsqldb用于内存数据库。 我们还包括ToStringBuilder的commons-lang3。 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.michaelcgood/groupIdartifactIdmichaelcgood-spring-batch-csv/artifactIdversion0.0.1/versionpackagingjar/packagingnamemichaelcgood-spring-batch-csv/namedescriptionMichael C Good - Spring Batch CSV Example Application/descriptionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion1.5.7.RELEASE/versionrelativePath / !-- lookup parent from repository --/parentpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-batch/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.hsqldb/groupIdartifactIdhsqldb/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-lang3/artifactIdversion3.6/version/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project3 –模型 这是对动漫领域进行建模的POJO。 字段是 ID。 为了简单起见我们将ID视为字符串。 但是可以将其更改为其他数据类型例如Integer或Long。 标题。 这是动画的标题适合作为String。 描述。 这是动漫的描述比标题长也可以视为字符串。 需要注意的是我们的三个字段的类构造函数public AnimeDTO字符串id字符串标题字符串描述。 这将在我们的应用程序中使用。 同样像往常一样我们需要创建一个没有参数的默认构造函数否则Java会抛出错误。 package com.michaelcgood;import org.apache.commons.lang3.builder.ToStringBuilder; /*** Contains the information of a single anime** author Michael C Good michaelcgood.com*/public class AnimeDTO {public String getId() {return id;}public void setId(String id) {this.id id;}public String getTitle() {return title;}public void setTitle(String title) {this.title title;}public String getDescription() {return description;}public void setDescription(String description) {this.description description;}private String id;private String title;private String description;public AnimeDTO(){}public AnimeDTO(String id, String title, String description){this.id id;this.title title;this.description title;}Overridepublic String toString() {return new ToStringBuilder(this).append(id, this.id).append(title, this.title).append(description, this.description).toString();}}4 – CSV文件到数据库配置 该类中发生了很多事情并且不是一次编写的因此我们将逐步学习代码。 访问Github以查看完整的代码。 4.1 –读者 如Spring Batch文档所述FlatFileIteamReader将“从平面文件中读取数据行这些文件通常描述记录的数据字段由文件中的固定位置定义或由某些特殊字符例如逗号分隔”。 我们正在处理CSV因此当然用逗号分隔数据这使其非常适合与我们的文件一起使用。 Beanpublic FlatFileItemReaderAnimeDTO csvAnimeReader(){FlatFileItemReaderAnimeDTO reader new FlatFileItemReaderAnimeDTO();reader.setResource(new ClassPathResource(animescsv.csv));reader.setLineMapper(new DefaultLineMapperAnimeDTO() {{setLineTokenizer(new DelimitedLineTokenizer() {{setNames(new String[] { id, title, description });}});setFieldSetMapper(new BeanWrapperFieldSetMapperAnimeDTO() {{setTargetType(AnimeDTO.class);}});}});return reader;} 重要事项 FlatFileItemReader使用模型进行参数化。 4.2 –处理器 如果要在将数据写入数据库之前对其进行转换则需要一个ItemProcessor。 我们的代码实际上并没有应用任何业务逻辑来转换数据但是我们允许这种能力。 4.2.1 – CsvFileToDatabaseConfig.Java中的处理器 csvAnimeProcessor返回AnimeProcessor对象的新实例我们将在下面进行检查。 BeanItemProcessorAnimeDTO, AnimeDTO csvAnimeProcessor() {return new AnimeProcessor();} 4.2.2 – AnimeProcessor.Java 如果我们想在写入数据库之前应用业务逻辑则可以在写入数据库之前操纵字符串。 例如您可以在getTitle之后添加toUpperCase以使标题大写然后再写入数据库。 但是我决定不对此示例处理器执行此操作或不应用任何其他业务逻辑因此未进行任何操作。 该处理器仅在此处进行演示。 package com.michaelcgood;import org.slf4j.Logger; import org.slf4j.LoggerFactory;import org.springframework.batch.item.ItemProcessor;public class AnimeProcessor implements ItemProcessorAnimeDTO, AnimeDTO {private static final Logger log LoggerFactory.getLogger(AnimeProcessor.class);Overridepublic AnimeDTO process(final AnimeDTO AnimeDTO) throws Exception {final String id AnimeDTO.getId();final String title AnimeDTO.getTitle();final String description AnimeDTO.getDescription();final AnimeDTO transformedAnimeDTO new AnimeDTO(id, title, description);log.info(Converting ( AnimeDTO ) into ( transformedAnimeDTO ));return transformedAnimeDTO;}}4.3 –作家 csvAnimeWriter方法负责将值实际写入我们的数据库。 我们的数据库是内存中的HSQLDB但是此应用程序使我们可以轻松地将一个数据库换成另一个数据库。 dataSource是自动连线的。 Beanpublic JdbcBatchItemWriterAnimeDTO csvAnimeWriter() {JdbcBatchItemWriterAnimeDTO excelAnimeWriter new JdbcBatchItemWriterAnimeDTO();excelAnimeWriter.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProviderAnimeDTO());excelAnimeWriter.setSql(INSERT INTO animes (id, title, description) VALUES (:id, :title, :description));excelAnimeWriter.setDataSource(dataSource);return excelAnimeWriter;}4.4 –步骤 步骤是一个域对象它包含批处理作业的独立顺序阶段并包含定义和控制实际批处理所需的所有信息。 现在我们已经为数据创建了读取器和处理器我们需要编写数据。 对于读取我们一直在使用面向块的处理这意味着我们一次读取了一个数据。 面向块的处理还包括在事务边界内创建将被写出的“块”。 对于面向块的处理您可以设置提交间隔一旦读取的项目数等于已设置的提交间隔就可以通过ItemWriter写入整个块并提交事务。 我们将块间隔大小设置为1。 我建议阅读有关面向块处理的Spring Batch文档 。 然后读取器处理器和写入器调用我们编写的方法。 Beanpublic Step csvFileToDatabaseStep() {return stepBuilderFactory.get(csvFileToDatabaseStep).AnimeDTO, AnimeDTOchunk(1).reader(csvAnimeReader()).processor(csvAnimeProcessor()).writer(csvAnimeWriter()).build();}4.5 –工作 作业由步骤组成。 我们将参数传递到下面的Job中因为我们想跟踪Job的完成情况。 BeanJob csvFileToDatabaseJob(JobCompletionNotificationListener listener) {return jobBuilderFactory.get(csvFileToDatabaseJob).incrementer(new RunIdIncrementer()).listener(listener).flow(csvFileToDatabaseStep()).end().build();} 5 –作业完成通知监听器 下面的类自动连接JdbcTemplate因为我们已经设置了dataSource并且我们想轻松地进行查询。 我们查询的结果是AnimeDTO对象的列表。 对于返回的每个对象我们将在控制台中创建一条消息以显示该项目已被写入数据库。 package com.michaelcgood;import java.sql.ResultSet; import java.sql.SQLException; import java.util.List;import org.slf4j.Logger; import org.slf4j.LoggerFactory;import org.springframework.batch.core.BatchStatus; import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.listener.JobExecutionListenerSupport; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.stereotype.Component;Component public class JobCompletionNotificationListener extends JobExecutionListenerSupport {private static final Logger log LoggerFactory.getLogger(JobCompletionNotificationListener.class);private final JdbcTemplate jdbcTemplate;Autowiredpublic JobCompletionNotificationListener(JdbcTemplate jdbcTemplate) {this.jdbcTemplate jdbcTemplate;}Overridepublic void afterJob(JobExecution jobExecution) {if(jobExecution.getStatus() BatchStatus.COMPLETED) {log.info( JOB FINISHED Verifying the results....\n);ListAnimeDTO results jdbcTemplate.query(SELECT id, title, description FROM animes, new RowMapperAnimeDTO() {Overridepublic AnimeDTO mapRow(ResultSet rs, int row) throws SQLException {return new AnimeDTO(rs.getString(1), rs.getString(2), rs.getString(3));}});for (AnimeDTO AnimeDTO : results) {log.info(Discovered AnimeDTO in the database.);}}}}6 – SQL 我们需要为我们的数据库创建一个模式。 如前所述我们已将所有字段都设置为字符串以便于使用因此我们将其数据类型设置为VARCHAR。 DROP TABLE animes IF EXISTS; CREATE TABLE animes (id VARCHAR(10),title VARCHAR(400),description VARCHAR(999) );6 –主 这是带有main的标准类。 如Spring文档所述 SpringBootApplication是一个方便注释其中包括 Configuration EnableAutoConfiguration EnableWebMvc和ComponentScan 。 package com.michaelcgood;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class SpringBatchCsvApplication {public static void main(String[] args) {SpringApplication.run(SpringBatchCsvApplication.class, args);} }7 –演示 7.1 –转换 FieldSet通过处理器输入“ Converting”被打印到控制台。 7.2 –在数据库中发现新项目 当Spring Batch Job完成时我们选择所有记录并将它们分别打印到控制台。 7.3 –批处理完成 批处理完成后这就是打印到控制台的内容。 Job: [FlowJob: [namecsvFileToDatabaseJob]] completed with the following parameters: [{run.id1, -spring.output.ansi.enabledalways}] and the following status: [COMPLETED] Started SpringBatchCsvApplication in 36.0 seconds (JVM running for 46.616)8 –结论 Spring Batch建立在基于POJO的开发方法和Spring Framework的用户友好性的基础上使开发人员可以轻松地创建企业级批处理。 源代码在 Github上 翻译自: https://www.javacodegeeks.com/2017/10/spring-batch-csv-processing.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83113.shtml

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

相关文章

网站怎么优化排名的方法搜狗识图

大数据治理:数字时代的关键密码 在信息技术飞速发展的今天,数字化浪潮席卷全球,深刻地改变着我们的生活和工作方式。数据,作为数字化时代的核心资产,正以前所未有的速度增长和积累。据国际数据公司(IDC&am…

西安找公司建网站wordpress网站文章排版插件

问题与解决方案 在使用Appium进行iOS自动化测试时,可能会遇到各种问题。 以下是一些常见的问题及其解决方案: 无法启动inspector问题 最新版本的Appium已经将内置的inspector独立了出去,需要单独安装inspector进行调试。确保inspector对应…

门户网站建设模式包括网站群和商城手机网站建设多少钱

实现效果如下 类似 推箱子小游戏 的变种 C/C版本 BFS最短路径 黑色代表墙壁 不能越过 蓝色代表HOME点 灰色代表要找的小箱子 绿色代表路径 最终目标是将灰色的小箱子移动到蓝色的HOME点 需要两次搜索 第一次是 出发点到灰色小箱子 第二次是灰色小箱子到蓝色HOME点 BF…

建设代练网站简述网站的推广策略

Time Limit: 10 second Memory Limit: 2 MB 问题描述 同一平面内有n(n≤500)条直线,已知其中p(p≥2)条直线相交与同一点,则这n条直线最多能将平面分割成多少个不同的区域? Input 两个整数n&am…

高端型网站建设邯郸wap网站建设报价

假期第二篇,对于基础的知识点,我感觉自己还是很薄弱的。 趁着假期,再去复习一遍 之前已经记录了一篇【vue3基础知识点-computed和watch】 今天在学习的过程中发现,之前记录的这一篇果然是很基础的,很多东西都讲的不够…

可以随意建国际商城的网站吗苏州天狮建设监理有限公司网站

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

国内论坛网站有哪些网站注册公司

一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1、导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql #/usr/local/mysql/bin/mysqldump -uroot -p abc > abc.sql 敲…

淄博桓台网站建设公司展示型的网站用

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

网站没有ftp 怎么推广会计证初级报考时间2023年报名

C11是由C标准委员会指定的语言规范。相比于C98/03,C11则带来了数量可观的变化,其中包含了约140 个新特性,以及对C03标准中约600个缺陷的修正,C11能更好地用于系统开发和库开发、语法更加泛华和简单化、更加稳定和安全,…

商城网站建设解决方案定西市网站建设企业

Oculus现在已向开发者公布了如何使用自己的设备Camera,本系列课程就来手把手地告诉你如何在Unity中使用这个特性。 第一步,既然用的是Quest的特性,那就需要先引入Quest的Unity开发SDK。并且完成基本的VR开发项目设置。 新建Unity项目后,在编辑器界面先点击Window,打开资…

网站seo关键字优化公众号视频网站怎么做

僵尸动画合集,包括成对攻击/抓取、各种移动方式、爬行、击中反应、死亡动画等。 生产说明 动画总数:99(包括22个位置变化) 配对动画:36 攻击次数:6次 爬网:9 命中反应:6 空转:14 行程2 跑步次数:9次 短跑:2 匝数:3 步行次数:12次 免责声明 任何游戏玩法蓝图都不包…

网站建设市场分析做电力 公司网站

学习需要,总结一些常用优化器。 目录 前言SGD:随机梯度下降BGD:批量梯度下降MBGD:小批量梯度下降MomentumAdaGradRMSpropAdam: Adaptive Moment EstimationAdamW参考文章 前言 优化器的本质是使用不同的策略进行参数更新。常用的…

网站开发设计流程深圳市住建局官网

1、Kafka是何如做到高性能的? a、消息批处理减少网络通信开销,提升系统吞吐能力(先攒一波,消息以“批”为单位进行处理) 生产端:无论是同步发送还是异步发送,Kafka都不会立即就把这条消息发送出…

加强网站建设说明报告范文Wordpress二次开发多少钱

目录 前言 一、问题的出现? 二、一体化架构中的慢请求排查如何做 三、分布式 Trace原理 四、如何来做分布式 Trace 前言 在分布式服务架构下,一个 Web 请求从网关流入,有可能会调用多个服务对请求进行处理,拿到最终结果。这个…

闸北做网站网页代理app

1.随意创建一个类,他都有UCLASS()。GENERATED_BODY()这样的默认的宏。 UCLASS() 告知虚幻引擎生成类的反射数据。类必须派生自UObject. (告诉引擎我是从远古大帝UObject中,继承而来,我们是一家人,只是我进化了其他功能…

有什么软件可以做网站国内室内设计师

Midjourney介绍 Midjourney 是生成式人工智能的一个很好的例子,它根据文本提示创建图像。它与 Dall-E 和 Stable Diffusion 一起成为最流行的 AI 艺术创作工具之一。与竞争对手不同,Midjourney 是自筹资金且闭源的,因此确切了解其幕后内容尚不…

专业网站运营托管网站ui设计例子

你想要实现一个JavaScript函数,用于根据时间段过滤搜索结果吗?可以尝试以下的示例代码: // 假设这是你的数据 const data [{ id: 1, name: Alice, timestamp: 1622382000000 }, // 2021-05-30 12:00:00 UTC{ id: 2, name: Bob, timestamp: …

中国建设银行深圳分行网站网站的投票 计数模块怎么做

UE发起计算服务申请后,网络侧处理的流程 UE发起服务的流程:service request网络侧处理服务涉及的通信数据通过PDU Session进行传输,涉及到SMF与UPF的交互。PDU Session的建立、管理全部由SMF(Session Management Function&#x…

普宁市做网站php 如何在网站根目录创建文件夹

我国有着众多的电商,这些电商为了促进消费总是想出千奇百怪的营销节日,比如年中大促、双十一、双十二、年终大促,在今年更是多出了6.18促销、双十萌节,还有一个慢慢火起来的“黑五”。“黑五”与之前提到的众多营销节日有所不同&a…

网站商城开发一个多少钱阳江做网站seo

主机是sunshine,客机是moonlight,一个太阳一个月光,两者真是太配啦! 下载sunshine sunshine是服务器端,去以下GitHub链接下载windows端的解压缩即用版 https://github.com/LizardByte/Sunshine/releases下载完毕解压…