我的第一个Hibernate应用:Hibernate__002

扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码) 扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码) 文章目录扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码)理论讲解KF和EKF模型对比雅可比矩阵计算计算实例应用实例线性模型CV模型:CA模型非线性模型CTRV模型:CTRV实例(python)small demo抛物线demo飞机高度demoC++实例参考文献 我们上篇提到的卡尔曼滤波是用于线性系统,预测(运动)模型和观测模型是在假设高斯和线性情况下进行的。简单的卡尔曼滤波必须应用在符合高斯分布 阅读详情

昨天晚上7点多的时候开始看尚学堂的Hibernate视频,一边看一边敲代码,也是是太累的缘故,脑袋一直是蒙蒙的。不管了,一直敲下来。好咧,敲好全部的代码,开始运行StudentTest.java这个类进行测试的时候,报了一个错误:

Could not parse mapping document from resource com/bjsxt/hibernate/model/Student.hbm.xml

······

·····

·····

不断的反复查看自己的两个配置文件。在修改了几个错误确认无误后,运行,还是这个样子。就不断的上百度、谷歌搜索,发现很多人也遇到过这个问题,提出的解决方案也有很多。在确认自己的配置文件内容已经路径没有问题之后,运行这个测试类还是问题依旧。


早上从8:00开始搜索开始,到了10点多的时候,忽然想起自己还有一本书,拿来书本一看,发现自己的测试类有点古怪,就按照书上的改了,运行,嘿,Pass....


------附:

||--错误的测试类 StudentTest.java

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

import com.bjsxt.hibernate.model.Student;

public class StudentTest {

    public static void main(String[] args) {
        Student s = new Student();
        s.setId(5);
        s.setName("s1");
        s.setAge(1);
        
        Configuration cfg = new Configuration();
        //默认的就是找class加载路径下的配置文件
         cfg.configure(); 
        //org
        SessionFactory sf = cfg.configure().buildSessionFactory();
        //注意:引入的session是org.hibernate.Session,不要选择过时的:classic
        Session session = sf.openSession();
        
        //事务
        session.beginTransaction();
        session.save(s);
        session.getTransaction().commit();
        
        //关
        session.close();
        sf.close();
        
    }
}



 

||--修改后的测试类:StudentTest.java


import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

import com.bjsxt.hibernate.model.Student;

public class StudentTest {

    public static void main(String[] args) {
        Student s = new Student();
        s.setId(5);
        s.setName("s1");
        s.setAge(1);
        
        Configuration cfg = new Configuration();
        //默认的就是找class加载路径下的配置文件
        //--cfg.configure(); --手贱的就是多了这么一个奇葩
         //org
        SessionFactory sf = cfg.configure().buildSessionFactory();
        //注意:引入的session是org.hibernate.Session,不要选择过时的:classic
        Session session = sf.openSession();
        
        //事务
        session.beginTransaction();
        session.save(s);
        session.getTransaction().commit();
        
        //关
        session.close();
        sf.close();
        
    }
}





 

论文分享|ECCV2022,PATnet,Cross-Domain Few-Shot Semantic Segmentation,CDFSS新基准,文末有复现教程 这篇论文提出的跨域小样本语义分割(CD-FSS)任务,旨在将源域学习的分割能力迁移到目标域,仅需少量标注样本。针对传统小样本分割方法在跨域场景性能下降的问题,作者提出了基于金字塔锚点变换的网络(PATNet),通过将域相关特征转换为域无关特征,并引入任务自适应微调推理(TFI)提升目标域适应能力。实验表明,PATNet在1-shot和5-shot设置下分别比现有方法提升8.49%和10.61%的准确率。同时,作者构建了CD-FSS基准并设计了任务难度评估指标。代码和数据集已开源,复现难度中等。 阅读详情

相关推荐

磁编码器选型避坑指南:为什么MT6816比霍尔传感器更适合你的伺服系统?

本文深入对比了MT6816磁编码器与传统霍尔传感器在伺服系统中的应用。MT6816基于AMR技术,对磁场方向敏感而非强度,具备高精度、强抗干扰、高安装容差和极低延时等优势,尤其适合高转速、恶劣环境下的工业场景,能有效提升系统可靠性与长期稳定性。

rainy的博客 1103

Hibernate框架的入门002

Hibernate框架的入门 创建一个java项目或者javaweb项目 、 建立数据库、表、实体类: 表: 类: 创建映射****: 创建Customer.hbm.xml 可以从hibernate-core核心包里的hibernate-mapping-3.0.dtd中得到头部约束。 主键生成策略:native 本地主键生成策略。 创建一个hibernate...

MINGDE_SKILL的博客 251

从零构建锂电池主动均衡系统:Simulink仿真中的Buck-Boost拓扑实战指南

本文详细介绍了如何在Simulink中从零构建基于Buck-Boost拓扑的锂电池主动均衡系统。通过仿真环境搭建、参数优化、控制策略设计和性能评估,为工程师提供了完整的实战指南,帮助快速验证和优化均衡算法,提升电池组一致性与寿命。

gitlab7runner的博客 896

我的第一个Hibernate程序

今天开始学习Hibernate,开启我的第一个Hibernate程序 1.方法一:myeclipse自动生成 首先,建立一个数据库student 第二步,在student数据库中建立一张表student 第三步,打开 myeclipse10,打开MyEclipse Hibernate preperctive 第四步,在DB Browser中新建一个新的...

datai3890的博客 151

修改Avaya IP-Office电话交换机出厂自带的提示语音内容

1,本文的应用场景是在使用Avaya IP-office 500 v2电话交换机时,来电振铃超时后,会转入语音信箱,呼叫者会听到一条语音信箱留言的欢迎辞(…请留言…)。但我们单位情况比较特殊,首先是的IPO配置很精简,内嵌的语音信箱只能保留3天,用处不大;其次是用户没有收听语音信箱的习惯;第三是我们单位使用数字中继和DID,每人一个直拨号码,不通过总机转接。很多业务是单线联系,所以一旦来电无法接通,来电者可能完全无法联系到我们单位的其他同事。出于这三点原因,我们希望将语音信箱的欢迎辞,增加告知我们的总机电话

qlin4cn的博客 4919

RTX 5090配Ubuntu 24.04踩坑记:手把手搞定OpenVLA-OFT环境(附版本避坑清单)

本文详细记录了在RTX 5090显卡和Ubuntu 24.04系统上部署OpenVLA-OFT环境的完整过程,包括驱动安装、CUDA配置、PyTorch版本选择等关键步骤。提供了经过验证的版本组合清单和常见错误解决方案,帮助开发者高效搭建AI开发环境。

weixin_30342209的博客 465

【Hibernate】从0开始学Hibernate--002。Hibernate*Session详解

Hibernate从0开始,第一部分初涉Hibernate搭建第一个简单的Hibernate框架 https://blog.youkuaiyun.com/hekaikai666/article/details/81672688 回顾与总结: 简述上一章的主要内容: (一)Hibernate框架的概念:数据持久层的ORM框架,主要作用是用于操作数据库,简化封装了JDBC的操作 (二)Hibernate...

hekaikai666的博客 211

华为OD机试 新系统 双机位C卷 往年真题 机考题库(持续收录中)以及算法考点详解

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 7万+

002-尚硅谷Hibernate视频教程

目录1. 尚硅谷_佟刚_Hibernate_概述&安装 Hibernatetools 插件 1. 尚硅谷_佟刚_Hibernate_概述&安装 Hibernatetools 插件

qq_17079255的博客 1574

013 PID参数整定:Ziegler-Nichols法

几年前在调试一台伺服压机,客户要求位置精度±0.01mm,响应时间小于50ms。我按照教科书上的经验值设了P=1.5,I=0.02,D=0.01,结果电机一启动就开始尖叫,位置超调直接干到0.3mm,然后开始震荡,像极了喝醉的舞者。现场工程师看我的眼神,就像在看一个刚毕业的实习生。那次之后我明白了一个道理:PID参数不是靠猜的,也不是靠经验公式硬套的。你需要一个系统的方法,而Ziegler-Nichols法就是那个让你从“瞎调”走向“有章可循”的起点。

m0_50546716的博客 101

Kafka 性能优化与常见问题排查

Kafka 的高性能依赖于合理的集群设计、参数优化与高效的监控体系。生产环境中,应重点关注I/O 瓶颈、分区规划、Producer/Consumer 参数调优,并通过监控与排查手段快速定位问题,从而保障 Kafka 在实时场景下的稳定运行。

X2829352498的博客 235

看Hibernate源码 002 - 二级缓存

废话不说,今天花了一个下午的时间, 专门啃Hibernate的二级缓存部分. Hibernate要支持好几种缓存, 那么它肯定封装了各种不同的缓存策略, 根据不同的缓存产品(如EHCache,Jboss Cache)相应处理. 我手上的源码版本是Hibernate-3.3.1GA, 按照org.hibernate.cache包里面的说明文件package.html的说明, 这个版本相比以前,...

wjboy49的专栏 274

16、经皮功能性电刺激助行:Parastep系统全解析

本文全面解析了经皮功能性电刺激助行系统——Parastep系统,涵盖其发展历史、技术参数、系统设计、患者准入标准、训练方案及临床效果。作为首个获得FDA批准并商业化的非侵入性FES助行系统,Parastep为胸段截瘫患者提供了独立站立与行走的可能性,并在改善下肢血流、肌肉质量、心理状态等方面展现出显著医学与心理益处。文章还对比了其他FES系统,分析了Parastep的优势与局限,并探讨了未来技术改进方向与应用拓展前景。

l3m4n的博客 107

002—第一个Hibernate示例(二)

/*          * 开始导出          * 第一个参数:script 是否打印DDL信息          * 第二个参数:export 是否导出到数据库中生成表          */         export.create(true, true);             } } 1、   运行刚刚建立的ExportDB类中的main()方法,进...

wjt276的专栏 132

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

002—第一个Hibernate示例(一)

Hibernate压缩文件结构 下载Hibernate压缩文档,下面为文件结构:     Hibernate3.jar:为Hibernate的核心jar包; build.xml:重新打包配置文件 build.bat:运行在windows系统中打包; build.sh:运行在Unix系统上打包; doc:Hibernate API文档 eg:一个简单的实例 etc:Hiberna...

wjt276的专栏 233

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

002---第一个Hibernate示例

Hibernate压缩文件结构 下载Hibernate压缩文档,下面为文件结构:   Hibernate3.jar:为Hibernate的核心jar包; build.xml:重新打包配置文件 build.bat:运行在windows系统中打包; build.sh:运行在Unix系统上打包; doc:Hibernate API文档 eg:一个简单的实例 etc:Hibernat...

weixin_33896069的博客 68

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

在MyEclipse中快速搭建hibernate应用

以下是一个Hibernate入门案例,使用Myeclipse开发。 一、环境 1、MyEclipse for Spring 10.0.0 2、jdk 1.6 二、简要说明 数据库为 mysql 5.5 在mysql中创建一个名为mydb的数据库,建立cat表 CREATE TABLE `cat` ( `cat_id` varchar(32) NOT NULL, `na

Android司机 8290

Java_SSH之Hibernate_002_04:hibernate实体的三种状态、状态的转换过程

hibernate的实体类的三种状态、状态的转换过程 文章目录hibernate的实体类的三种状态、状态的转换过程一、三种状态二、状态的转换过程瞬时 转 持久:持久 转 脱管总结 一、三种状态 实体Entity有三种状态,瞬时状态、持久状态、脱管状态 1、瞬时状态:transient, session没有缓存,数据库也没有记录,oid没有值 2、持久状态:persistent, session有缓存,数据库也有记录,oid有值 3、脱管状态/游离状态:detached,session没有缓存,数据库有

小良的博客 185

创建第一个hibernate程序

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任

都市桃源 764

Hibernate查询语言:HQL

HQL:Hibernate Qusery Language,如果你已经熟悉它,就会发现它跟SQL非常相像。不过 你不要被表面的假象迷惑,HQL是面向对象的(OO,用生命的眼光看待每一个对象,他们是如此 鲜活)。如果你对JAVA和SQL语句有一定了解的话,那么HQL对你简直易如反掌,你完全可以利用在公车上的时间掌握它。以下从几个方面进行慢慢深入:1。大小些敏感大家知道Query是对大小写不敏感的,但

鲤鱼商城 4199

_002_Hibernate的批量插入(JDBC)

一、批量插入(两种方式)1,通过Hibernate缓存如果这样写代码进行批量插入(初始设想):[java] view plain copy package com.anlw.util;    import org.hibernate.Session;  import org.hibernate.SessionFactory;  import org.hibernate.Transaction;  ...

poiuyppp的博客 407

Hibernate知识点 002

一、cascadecascade属性是设置级联操作的也就是在操作一端的数据如果影响到多端数据时会进行级联操作,一对一的时候直接写在标签上,其他的要写在set标签上cascade="none|save-update|all|all-delete-orphan"none 就是不使用级联操作,默认级联是none。save-update 也就是只有对象保存操作(持久化操作)或者是持久化对象

wxg6203的专栏 266

hibernate笔记-002-hibernate5.2使用hbm2ddl.auto错误

hibernate

wskaiidir的博客 1214

Java_SSH之Hibernate_002_02:SQL、Hibernate和对象类型怎么对应、hibernate主键的生成策略(☆)讲解

系列文章目录 文章目录系列文章目录一、SQL、Hibernate和对象类型对应二、hibernate主键的生成策略讲解——重点总结 一、SQL、Hibernate和对象类型对应 代码里面怎么去对应数据库里面的数据类型 二、hibernate主键的生成策略讲解——重点 generator:id的生成策略 increment:也会自动增长id,但是它的这种增长是自己Hibernate实现 执行select max(id) 查询,这种会有线程并发问题(多线程同时执行max,哪个最大,直接懵逼,id

小良的博客 199
下一篇: @JoinTable和@JoinColumn
_yunfei
博客等级 码龄15年 0粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值