springboot中如何运用JPA,简单例子

带有 Spring Boot 的 Spring Data JPA 示例 一、简介 在这篇文章中,我们将演示如何利用强大的Spring Data JPA API 与数据库交互,本课的内存H2 数据库。 Spring Data JPA 提供了一组非常强大且高度抽象的接口,用于与任何底层数据库进行交互。数据库可以是 MySQL、MongoDB、Elasticsearch 或任何其他支持的数据库。Spring Data JPA 的其他优势包括: 支持基于 JPA 约定构建扩展存储库 内置分页支持和动态查询执行 支持基于 XML 的实体映射 在本例中,我们将使用 H2 内存数据 阅读详情


更多内容,点击了解: https://how2j.cn/k/springboot/springboot-jpa/1648.html

目录

步骤 1 : JPA概念

步骤 2 : 创建数据库

步骤 3 : 创建表

步骤 4 : 准备数据

步骤 5 : 先运行,看到效果,再学习

步骤 6 : 模仿和排错

步骤 7 : 基于前面的知识点

步骤 8 : application.properties

步骤 9 : pom.xml

步骤 10 : Category

步骤 11 : CategoryDAO

步骤 12 : CategoryController

步骤 13 : listCategory.jsp

步骤 14 : 重启测试

步骤 15 : 更多关于JPA


步骤 1 : JPA概念

JPA(Java Persistence API)是Sun官方提出的Java持久化规范,用来方便大家操作数据库。
真正干活的可能是Hibernate,TopLink等等实现了JPA规范的不同厂商,默认是Hibernate。
本知识演示如何在Springboot中快捷方便地使用JPA。

步骤 2 : 创建数据库

创建数据库,名称是 how2java

create database how2java;

步骤 3 : 创建表

创建个分类表,字段很简单,就id和name

use how2java;

CREATE TABLE category_ (

  id int(11) NOT NULL AUTO_INCREMENT,

  name varchar(30),

  PRIMARY KEY (id)

) DEFAULT CHARSET=UTF8;

步骤 4 : 准备数据

插入4条数据

insert into category_ values(null,'category 1');

insert into category_ values(null,'category 2');

insert into category_ values(null,'category 3');

insert into category_ values(null,'category 4');

步骤 5 : 先运行,看到效果,再学习

老规矩,先下载下载区(点击进入)的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。 
测试地址:

http://127.0.0.1:8080/listCategory


注: 启动方式是Springboot特有的,直接运行类:com.how2java.springboot.Application 的主方法。

先运行,看到效果,再学习

步骤 6 : 模仿和排错

在确保可运行项目能够正确无误地运行之后,再严格照着教程的步骤,对代码模仿一遍。 
模仿过程难免代码有出入,导致无法得到期望的运行结果,此时此刻通过比较正确答案 ( 可运行项目 ) 和自己的代码,来定位问题所在。 
采用这种方式,学习有效果,排错有效率,可以较为明显地提升学习速度,跨过学习路上的各个槛。 

推荐使用diffmerge软件,进行文件夹比较。把你自己做的项目文件夹,和我的可运行项目文件夹进行比较。 
这个软件很牛逼的,可以知道文件夹里哪两个文件不对,并且很明显地标记出来 
这里提供了绿色安装和使用教程:diffmerge 下载和使用教程

步骤 7 : 基于前面的知识点

本知识点基于错误处理开发,所以最好要把前面的内容学习了哦,不然有些内容恐怕看不懂呢

步骤 8 : application.properties

新增数据库链接必须的参数

spring.jpa.properties.hibernate.hbm2ddl.auto=update


表示会自动更新表结构,所以创建表 这一步其实是可以不需要的~

spring.mvc.view.prefix=/WEB-INF/jsp/

spring.mvc.view.suffix=.jsp

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8

spring.datasource.username=root

spring.datasource.password=admin

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.jpa.properties.hibernate.hbm2ddl.auto=update

步骤 9 : pom.xml

增加对mysql和jpa的支持

<!-- mysql-->

<dependency>

    <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

    <version>5.1.21</version>

</dependency>

 

<!-- jpa-->

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

 

  <groupId>com.how2java</groupId>

  <artifactId>springboot</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <name>springboot</name>

  <description>springboot</description>

  <packaging>war</packaging>

   

    <parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>1.5.9.RELEASE</version>

    </parent>

 

    <dependencies>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-tomcat</artifactId>

             

        </dependency>

        <dependency>

              <groupId>junit</groupId>

              <artifactId>junit</artifactId>

              <version>3.8.1</version>

              <scope>test</scope>

        </dependency>

        <!-- servlet依赖. -->

        <dependency>

              <groupId>javax.servlet</groupId>

              <artifactId>javax.servlet-api</artifactId>

               

        </dependency>

              <dependency>

                     <groupId>javax.servlet</groupId>

                     <artifactId>jstl</artifactId>

              </dependency>

        <!-- tomcat的支持.-->

        <dependency>

               <groupId>org.apache.tomcat.embed</groupId>

               <artifactId>tomcat-embed-jasper</artifactId>

                

        </dependency>    

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-devtools</artifactId>

            <optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->

        </dependency>

         

        <!-- mysql-->

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <version>5.1.21</version>

        </dependency>

 

        <!-- jpa-->

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-data-jpa</artifactId>

        </dependency>       

    </dependencies>

 

    <properties>

        <java.version>1.8</java.version>

    </properties>

 

    <build>

        <plugins>

            <plugin>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-maven-plugin</artifactId>

            </plugin>

        </plugins>

    </build>

 

</project>

步骤 10 : Category

增加一个包:com.how2java.springboot.pojo,然后创建实体类Category。
@Entity 注解表示这是个实体类
@Table(name = "category_") 表示这个类对应的表名是 category_ ,注意有下划线哦
@Id 表明主键
@GeneratedValue(strategy = GenerationType.IDENTITY) 表明自增长方式
@Column(name = "id") 表明对应的数据库字段名

package com.how2java.springboot.pojo;

 

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

import javax.persistence.Table;

 

@Entity

@Table(name = "category_")

public class Category {

 

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "id")

    private int id;

     

    @Column(name = "name")

    private String name;

    public int getId() {

        return id;

    }

    public void setId(int id) {

        this.id = id;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

     

}

步骤 11 : CategoryDAO

增加一个包:com.how2java.springboot.dao,然后创建dao接口CategoryDAO,继承了JpaRepository,并且提供泛型<Category,Integer> 表示这个是针对Category类的DAO,Integer表示主键是Integer类型。
JpaRepository 这个父接口,就提供了CRUD, 分页等等一系列的查询了,直接拿来用,都不需要二次开发的了。

package com.how2java.springboot.dao;

 

import org.springframework.data.jpa.repository.JpaRepository;

 

import com.how2java.springboot.pojo.Category;

 

public interface CategoryDAO extends JpaRepository<Category,Integer>{

 

}

步骤 12 : CategoryController

增加一个包:com.how2java.springboot.web,然后创建CategoryController 类。
1. 接受listCategory映射
2. 然后获取所有的分类数据
3. 接着放入Model中
4. 跳转到listCategory.jsp中

package com.how2java.springboot.web;

import java.util.List;

 

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

 

import com.how2java.springboot.dao.CategoryDAO;

import com.how2java.springboot.pojo.Category;

  

@Controller

public class CategoryController {

    @Autowired CategoryDAO categoryDAO;

     

    @RequestMapping("/listCategory")

    public String listCategory(Model m) throws Exception {

        List<Category> cs=categoryDAO.findAll();

         

        m.addAttribute("cs", cs);

         

        return "listCategory";

    }

     

}

步骤 13 : listCategory.jsp

用jstl遍历从CategoryController 传递过来的集合:cs.

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

 

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

   

<table align='center' border='1' cellspacing='0'>

    <tr>

        <td>id</td>

        <td>name</td>

    </tr>

    <c:forEach items="${cs}" var="c" varStatus="st">

        <tr>

            <td>${c.id}</td>

            <td>${c.name}</td>

                

        </tr>

    </c:forEach>

</table>

步骤 14 : 重启测试

因为在pom.xml中增加了jar包的依赖,所以仅仅通过Springboot本身的热部署是无法起作用的,得手动重启一下。
然后访问测试地址:

http://127.0.0.1:8080/listCategory


观察到如图所示的效果

重启测试

步骤 15 : 更多关于JPA

后面有一个JPA的CRUD和分页,可以学习到更多的关于JPA的知识


更多内容,点击了解: https://how2j.cn/k/springboot/springboot-jpa/1648.html

★教程1:matlab学习教程入门100例目录 ★基础入门 1.为什么要学习MATLAB 2.MATLAB安装 持续更新....... ★MATLAB基础编程语言熟悉 阅读详情

相关推荐

服务器报错:“Unhealthy status reported by this UEFI driver without specific error message”.. 记录解决过程

服务器开机报错:Unhealthy status reported by this UEFI driver without specific...

ayychiguoguo的博客 4399

spring boot jpa 简单应用示例

1.JPA简介 JPA(Java Persistence API)是Sun官方提出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。 Hibernate是JPA目前最流行的实现,JPA的制定很大程度上吸收了的思想,spring-boot...

chuzu9436的博客 389

RTC 实时时钟实验

如果在 RTC_CR 寄存器中设置了相应的允许位,则在每个TR_CLK 周期中 RTC 产生一个中断(秒中断)。void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data) // 往备份区域写用户数据的函数 (这个函数的第一个参数就是寄存器的标号了,这个是通过宏定义定义的)存储在 RTC_ALR 寄存器中的可编程时间相比较,如果 RTC_CR 控制寄存器中设置了相应允许位,比较匹配时将产生一个闹钟中断。寄存器操作完成,并同步之后,设置秒钟中断。

m0_55996456的博客 1206

SpringBoot整合JPA

SpringBoot整合JPA

YIYIYI 1万+

K-Means聚类算法 — 算法原理、质心计算、距离度量、聚类效果评价及优缺点

分类知识   分类是根据样本某些属性或某类特征(可以融合多类特征),把样本类型归为已确定的某一类别中。机器学习中常见的分类算法有:SVM(支持向量机)、KNN(最邻近法)、Decision Tree(决策树分类法)、Naive Bayes(朴素贝叶斯分类)、Neural Networks(神经网络法)等。   但当对海量数据进行分类时,为了降低数据满足分类算法要求所需要的预处理代价,往往需要选...

zhf的博客 1万+

Seurat3.0小提琴图腰围的参数

小提琴图没有有些群没有出现小提琴只有点点,是由于0值比例太多, 一个关键的参数scale = "width"导致了这种局面,应加上上述参数 ggplot(p$data,aes(ident,CD4)) + geom_violin(scale = "width", adjust =1, trim = TRUE) + geom_jitter()+ theme_bw() adjust参数可以调整腰的粗细,eg: ggplot(p$data,aes(ident,CD4)) + geom_violin(scale

Demomwu的博客 1661

Spring Boot整合JPA

创建文章仓库接口ArticleRepository/*** 功能:文章仓库接口* 日期:2023年06月13日* 作者:梁辰兴/*** 根据文章ID进行分页查询评论* nativeQuery = true, 表示使用原生SQL语句,否则使用HQL语句* @param aId 查询条件字段(文章编号)* @param pageable 可分页对象,分页查询需要该参数* @return 返回page对象,包含page的相关信息及查询结果集/*** 根据文章ID进行分页查询评论。

梁辰兴的博客 4289

用Python+NumPy手把手实现分数阶傅里叶变换(FRFT),搞定线性调频信号分析

本文详细介绍了如何使用Python和NumPy实现分数阶傅里叶变换(FRFT),特别针对线性调频信号(Chirp信号)分析。通过从零开始的代码实现和可视化案例,展示了FRFT在时变信号处理中的强大能力,帮助工程师和研究人员高效分析频率随时间变化的信号。

weixin_29062823的博客 218

【jpa】springboot使用jpa示例

【代码】【jpa】springboot使用jpa示例。

王佑辉的博客 817

GPU基准测试全攻略:从驱动验证到深度学习环境部署

GPU基准测试是评估显卡性能与稳定性的核心方法,其原理在于通过标准化负载程序,对GPU的计算单元、显存和散热系统进行压力测试。这项技术的价值在于,它能科学量化硬件性能,确保软件环境配置正确,为深度学习、科学计算等重负载任务提供稳定基础。在实际应用场景中,无论是新卡验机、排查深度学习环境问题(如“warning: no usable gpu found”报错),还是验证“PyTorch GPU版本安装”后的实际算力,系统的基准测试都是不可或缺的工程实践环节。通过结合通用计算测试与深度学习框架验证,用户可以提前

weixin_30080745的博客 344

FPGA设计-Vivado的Off-Chip Termination设置问题

经常遇到在FPGA设计时,很多人很迷惑这些关于硬件的终端匹配怎么设置,Vivado的Off-Chip Termination设置问题,这里就详细说一下这个问题。

whm128的博客 2728

SPRINGBOOT中如何运用JPA,简单例子

SPRINGBOOT中如何运用JPA,简单例子 步骤 1 : JPA概念顶折 JPA(Java Persistence API)是Sun官方提出的Java持久化规范,用来方便大家操作数据库。 真正干活的可能是Hibernate,TopLink等等实现了JPA规范的不同厂商,默认是Hibernate。 本知识演示如何在Springboot中快捷方便地使用JPA。 步骤 2 : 创建数据库顶折 创建数据库,名称是 how2java create database how2java; 步骤 3 : 创建表顶折 创

weixin_49716609的博客 1万+

【推荐100个unity插件】Unity URP(通用渲染管线)的基于物理的天地和预计算大气散射——UnityPhysicallyBasedSkyURP

本文介绍了Unity URP(通用渲染管线)中基于物理的天地和预计算大气散射的实现方法。该插件提供物理天空、大气散射、高度雾效、动态天空反射和环境光等功能,要求Unity 2022.3及以上版本,支持着色器模型3.5+。使用步骤包括:添加渲染器功能、配置Volume组件(天空、雾效等),并建议太阳强度设为3、曝光为0作为初始设置。插件已在GitHub和Gitee开源,附带详细配置截图和效果展示。文末推荐了多个Unity开发相关专栏,涵盖游戏开发全领域知识。作者向宇提供了博客链接,欢迎交流学习问题。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1229

SpringBoot持久层支持-springboot中如何运用JPA,简单例子

 JPA概念 JPA(Java Persistence API)是Sun官方提出的Java持久化规范,用来方便大家操作数据库。真正干活的可能是Hibernate,TopLink等等实现了JPA规范的不同厂商,默认是Hibernate。本知识演示如何在Springboot中快捷方便地使用JPA。  创建数据库 创建数据库,名称是 how2java create database how2java; ...

litengbin的博客 922

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

SPRINGBOOT系列教材 (十三)- 持久层支持 - SPRINGBOOT中如何运用JPA,简单例子

SPRINGBOOT系列教材 (十三)- 持久层支持 - SPRINGBOOT中如何运用JPA,简单例子 步骤 1 : JPA概念 JPA(Java Persistence API)是Sun官方提出的Java持久化规范,用来方便大家操作数据库。 真正干活的可能是Hibernate,TopLink等等实现了JPA规范的不同厂商,默认是Hibernate。 本知识演示如何在Springboot中快捷方...

tujiahao1的博客 265

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

SpringBoot系列教材 (十三)- 持久层支持 - springboot中如何运用JPA,简单例子

SpringBoot系列教材 (十三)- 持久层支持 - springboot中如何运用JPA,简单例子 步骤1:JPA概念步骤2:创建数据库步骤3:创建表步骤4:准备数据步骤5:先运行,看到效果,再学习步骤6:模仿和排错步骤7:基于前面的知识点步骤8:application.properties步骤9:pom.xml步骤10:Category步骤11:CategoryDAO步骤12:Categ...

wanghuiwei888的博客 380

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

hibernate 如何安装_SpringBoot系列(十三)- 持久层支持 - springboot中如何运用JPA,简单例子

步骤1:JPA概念步骤2:创建数据库步骤3:创建表步骤4:准备数据步骤5:先运行,看到效果,再学习步骤6:模仿和排错步骤7:基于前面的知识点步骤8:application.properties步骤9:pom.xml步骤10:Category步骤11:CategoryDAO步骤12:CategoryController步骤13:listCategory.jsp步骤14:重启测试步骤15:更多关于JP...

weixin_39561179的博客 76

SpringBoot集成jpa 一篇就够了 超详细

SpringBoot集成jpa 网上有很对jpa的介绍,但是都不是很全,这边根据公司的实际使用情况进行的总结。 JPA、Hibernate、Spring data jpa之间的关系 主要参考https://my.oschina.net/u/3080373/blog/1828589 大家可以读一下这篇文章 什么是JPA? 全称Java Persistence API,可以通过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。 为我们提供了: 1)ORM映射元数据:JPA支持XML

cmx1060220219的博客 8万+

【Springboot系列】SpringBoot整合Jpa

Spring Boot是一种快速开发框架,它简化了Java应用程序的开发过程。而Jpa(Java Persistence API)是Java持久化规范的一种实现,它提供了一种方便的方式来访问和操作数据库。将Spring Boot与Jpa整合可以更加方便地进行数据库操作,提高开发效率。本文将介绍如何使用Spring Boot整合Jpa,帮助读者快速上手并应用于实际项目中。Jpa(Java Persistence API)是Java持久化规范的一种实现,它提供了一种方便的方式来访问和操作数据库。

Venus's Blog 1万+

SpringBoot 一文搞懂Spring JPA

一文搞懂Spring JPA 什么是 JPA spirng data jpa是spring提供的一套简化JPA开发的框架,按照约定好的【方法命名规则】写dao层接口,就可以在不写接口实现的情况下,实现对数据库的访问和操作。同时提供了很多除了CRUD之外的功能,如分页、排序、复杂查询等等。 Spring Data JPA 可以理解为 JPA 规范的再次封装抽象,底层还是使用了 Hibernate 的 JPA 技术实现。 Springboot整合SpringData JPA SpringData简介 整合Sp

matafeiyanll的博客 1万+

Springboot集成MongoDB(简单例子)

Springboot集成MongoDB1、MongoDB简介2、springboot集成MongoDB1.引入依赖2.添加MongoDB配置3.在medel实体文件夹下新建类AyUserAttachmentRel,代码如下:4.用jpa实现MongoDB和java的连接5.创建业务层接口6.创建接口的实现类7.测试 1、MongoDB简介 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库

码出精彩 5674

什么是JPA?SpringBoot 中使用JPA

Java Persistence API)Java持久化API,是一套Sun公司Java官方制定的ORM(sun公司并没有实现)。(Object Relational Mapping)为对象关系映射,是一个实现使用对象操作数据库的设计思想。其作用是在操作数据库之前,先把数据表与实体类关联起来,然后通过实体类的对象操作(增删改查)数据库表。既然JPA是一套规范,也就意味着它只是一套实现ORM理论的接口,。那么我们必须要有具体的实现者。......

someday____的博客 7013

快速上手SpringBoot整合JPA

Spring 的一个子项目。用于简化数据库访问,支持NoSQL和关系数据库存储。目标是使数据库操作变得简单便捷.JPA: Java Persistence API 叫做java持久化接口规范, 定义了java操作数据库的模式.: 是Spring Data项目的一部分, 基于JPA规范标准, 提供了一套简洁的API和注解, 用于与关系型数据库进行交互, 使我们可以通过简单的Java对象来表示数据库表, 并且通过继承提供的框架类来执行通用的CRUD操作.

2404_87285359的博客 1623

SpringBoot+Jpa进行简单的增删改查

SpringBoot+Spring-data-jpa进行简单的增删改查 SpringBoot: 通俗来讲,Spring Boot框架,它的作用很简单,就是帮我们自动配置。Spring Boot框架的核心就是自动配置,只要存在相应的jar包,Spring就帮我们自动配置。如果默认配置不能满足需求,我们还可以替换掉自动配置类,使用我们自己的配置。另外,Spring Boot还集成了嵌入式的Web服务器...

qq_40744606的博客 4778

Springboot整合jpa来实现一个简单例子

本文使用Springboot整合jpa来实现一个简单例子。

wh柒八九的博客 354
上一篇: Springboot入门-在IDEA中创建跑得起来的Springboot项目
下一篇: java基础教程------如何在Eclipse中创建maven风格的java web项目
普通网友
博客等级 码龄7年 464粉丝 499原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值