基于springboot的html页面解析

该博客讲述了如何在Spring Boot项目中实现HTML文档的解析,并根据配置文件将解析数据保存到SQL Server数据库。首先介绍了项目背景和选用的技术栈(Spring Boot + MyBatis),接着详细描述了配置过程,包括添加解析HTML和转换JSON的依赖,设置application.properties文件,以及编写mapper.xml文件。随后,展示了外部SQL配置文件的结构,用于动态替换字段和表名。最后,提到了在Service层实现文件读取和字段检索的方法,并表示该实现逻辑可以进一步优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上周接到一个重构的需求,内容是当页面点击解析按钮时通过Ajax调用这个接口实现html文档解析并根据配置文件将解析的数据保存到数据库,由于要模拟真实的线上环境所以是从数据库开始。

我们的线上的数据库使用的是SQL server 所以 我们本地模拟也选用相同的数据库,框架则是spring boot+mybatis

创建项目结构,建表此处省略,我们从配置文件开始,因为只有一个功能所以只需要引入两个依赖就可以,首先我们从pom.xml文件开始

<dependency>
    <!-- jsoup HTML parser library @ https://jsoup.org/ -->
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.11.3</version>
</dependency>

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.41</version>
</dependency>

第一个依赖是用来解析HTML文档的,第二个是转json用到的这些都是常用的依赖在这里我就不详细描述了

接下来我们在去配置application.properties文件,这里没有过多的数据我并没有选择.yml

# 数据库配置
spring.datasource.url=jdbc:sqlserver://localhost:端口号;DatabaseName=数据库名称
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.username=xxx
spring.datasource.password=xxx
server.port=当前所用的端口
mybatis.mapper-locations=classpath:mapping/*.xml

接下来就是mapper.xml文件,因为当前的功能并不是面向客户,而是给我们的同事使用所以 sql是用配置文件去传

<mapper namespace="com.xxx.htmls.mapper.HtmlsMapper">
    <select id="selectHtmls" resultType="com.xxx.htmls.bean.Htmls" parameterType="java.lang.String">
        <!-- select * from htsmlist where id = #{id} -->
        ${sql}
    </select>

    <select id="selectHtmlsList" resultType="com.xxx.htmls.bean.Htmls" parameterType="java.lang.String">
        <!-- select * from htsmlist where id = #{id} -->
        ${sqla}
    </select>

    <insert id="insertTable"  parameterType="java.lang.String">
        <!-- select * from htsmlist where id = #{id} -->
        ${sqlb}
    </insert>


</mapper>

到这为止我们的配置文件就已经写好了 

接下来就是我们外部储存sql的配置文件

<?xml version="1.0" encoding="UTF-8"?>
这里我们的sql并不是写死的 而是动态方便更换字段表名等 所以我们要把它拼接在一起 后面的参数在代码中拼接
<data>
    <sqla>select *from h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值