Java学习手册:JDBC中getString()方法与getObject()方法有什么区别?

智能车视觉算法实战:十字路口与弯道拐点的精准识别 本文深入探讨了智能车视觉导航中十字路口与弯道拐点的精准识别算法。通过实战经验,详细解析了如何利用纵向巡线法生成边界数组,并从中高效提取“上拐点”与“下拐点”的关键特征。文章重点分享了提升算法鲁棒性的核心技巧,包括图像预处理、ROI设置、状态机应用及多特征融合,旨在帮助开发者实现智能车在复杂路况下从“看见”到“看懂”的稳定决策。 阅读详情

JDBC提供了getString()、getInt()和getData()等方法从ResultSet中获取数据,当查询结果集中的数据量较小的,不会考虑性能,使用这些方法完全能够满足需求,但是当查询结果集中的数据量非常大时,则会抛出异常。而通常情况下,使用getObject()方法就可以解决这个问题。

getString()或getInt()等方法在被调用时,程序会一次性把所有数据都放到内存中,然后通过调用ResultSet的next()和getString()等方法来获取数据。当数据量大到内存中放不下时就会抛出异常,而使用getObject()方法就不会有这种问题,因为数据不会一次性被读到内存中。每次调用时会直接从数据库中去获取数据,因此使用这种方法不会因为数据量过大而出错。


uniapp ios原生插件开发 (framework,cocoapods) 已知UniApp的插件开发方式有两种, 第一种 Xcode Framework的方式,这种方式是官方指定的方式。 这种方式的优点就是简单直接, 但也有不足,比如当插件需要引入一些三方库时,操作起来就不是那么方便。 而使用Cocoapods则可以很方便的引入三方库。 接下来,本文探索使用Cocoapods的方式来进行UniApp插件开发。 阅读详情

相关推荐

微信小程序利用Echarts加载中国地图的步骤

微信小程序如何利用Echarts加载地图?可按照如下四个步骤进行。(阅读时间大概3分钟)。

成都都成 5275

getString()方法用法详解

String getString(intcolumnIndex) 以 Java 编程语言中String的形式获取此ResultSet对象的当前行中指定列的值。 getString String getString(intcolumnIndex)throws SQLException 以 Java 编程语言中String的形式获取

Thinkingcao的专栏 7万+

爬虫小例--爬药监局(上)

”明月如霜,好风如水,清景无限 “ 文远最近也算是爬虫入门吧,相信后面会慢慢熟悉。 壹 直接上例子,爬取药监局的数据。目的是得到每家公司的详情数据,例: 具体网址:http://scxk.nmpa.gov.cn:81/xk/ 这是主页,下面详情信息: 贰 分析,通过网页检查发现,主网页上没有公司相关数据,观察XHR中的Ajax请求发现,公司信息都是动态数据(方便更新),点击发现每个公司 的详情信息通过ID号这个参数区别,那么可以确定思路是先得到每个公司的ID号,然后在通过ID对应每一个详细网站,同样右键

john_ashley的博客 4556

JDBC 中关于 ResultSet.getXXX( ) 方法的理解

最近在写orm框架,遇到了原生JDBC中的 getInt( )、getFloat( )、getDouble( )、getString( )、getObject( ) 等这类方法,发现与原先的理解有些偏差,特此记录一下这几个常用的方法参数在不同 sql 查询下的含义。总结: ① 对于 'getXXX(int columnIndex) { } ' 重载形式,其中的columnIndex 表示的是我们写的 sql 语句中字段的索引,而不是数据库表中字段的索引。

即使再小的帆也能远航,加油~ 1139

【FLINK+Kerberos+kafka】在华为云上 bootstrap.server使用IP的GSS initiate failed 问题处理

目前互联网上所有的资料显示都是说没有正确设置KDC之类的,但本博主实际通过java代码低版本 如使用kafka-client 0.11.0 ,2.4.0等版本手动创建kafkaconfig 或者使用华为云的LoginUtils类 都能够正常链接,所以应该是高版本添加了相关配置,或者flink在subtask 创建kafkaAdminClient时 丢弃或使用了默认的一些配置行为,导致了客户端和kdc验证之间出现了principal 不一致导致验证失败。client.dns.lookup配置项作用。

honghanyue1791的博客 574

别只当玩具!聊聊这个555金属探测器电路背后的电磁感应与RLC调谐原理

本文深入解析了555金属探测器电路的工作原理,重点探讨了电磁感应与RLC调谐原理。通过分析电感线圈的电磁特性、RLC谐振电路的行为以及555定时器的多重功能,揭示了这一看似简单的装置如何实现金属检测。文章还提供了灵敏度优化方案和常见问题解决方法,帮助读者从科学角度理解这一实用技术。

weixin_29204205的博客 477

Java基础1

1.getString和toString区别: toString()方法是指把对象转换成字符串。Java中任何的对象都可以调用toString方法 getString()是指取得String类型数据库用的,比如在数据库取数据 2.map集合、list集合、set集合区别 map集合特点:(k-v) 1.能够存储唯一的列的数据(唯一,不重复) 2.能够存储可以重复的数据(可重复) 3.值...

weixin_45034355的博客 1184

【Kubernetes】Kubernetes 安全沙箱深度对比:gVisor vs Kata Containers

Kubernetes安全沙箱深度对比:gVisor和Kata Containers在架构、性能与安全性方面各有特点。gVisor通过用户态内核(Sentry)实现软件隔离,启动快(毫秒级)但CPU开销大(20-30%),适合Web服务等场景。Kata Containers采用轻量级虚拟机提供硬件级隔离,启动较慢(1-2秒)但兼容性更好,适合金融等高安全需求。测试显示gVisor在动态请求下性能下降33%,而Kata性能接近原生。建议根据场景选择:多租户/快速启动用gVisor,敏感数据/极致安全用Kata,

九师兄 178

mysql数据为null,ResultSet读取getInt()为0

mysql数据为null,ResultSet读取getInt()为0

kaisadaditebaba的博客 752

STM32 cubeMX配置串口重定向

这篇文章主要讲解什么是串口重定向,为什么要串口串口重定向。使用printf函数和上位机通信是非常的方便的。希望大家都能够掌握。

m0_49476241的博客 4572

【赛题解析&命令脚本配置】2024年第十七届山东省技能大赛 | 网络系统管理”赛项-模块B:Linux服务部署 & ⑤客户端OutsideCli和InsideCli工作任务

【赛题解析&命令脚本配置】2024年第十七届山东省技能大赛 | 网络系统管理”赛项-模块B:Linux服务部署 & ⑤客户端OutsideCli和InsideCli工作任务 | 【赛题解析&命令脚本配置】2024年第十七届山东省技能大赛 | 网络系统管理”赛项-模块B:Linux服务部署 & ⑤客户端OutsideCli和InsideCli工作任务

君逍遥o 318

getString()方法和getObject()方法区别

JDBC调用getString()/getInt()/getData()方法时,程序一次性查询结果数据读入内存,然后通过ResultSet()的next()方法和getString()方法获取数据。而getObject()每次直接从数据库获取数据,避免了内存不足的问题。 一般对于数据量较小,不用考虑性能问题则使用getString()/getInt()/getData()。若数据量较大则报错ora

huscker的博客 3222

Python的单元测试之unittest

是一个功能类似 unittest 的库,它集合众家标准测试库之所长,和 unittest 相比,功能更为强大,使用更为简单,OpenStack 广泛的利用它编写单元测试。unittest 提供了自动匹配发现并执行测试用例的功能,随着项目代码结构越发庞大,势必有多个测试文件,自动匹配发现并测试用例的功能在此就显得非常有用,只要满足。unittest 提供了丰富的命令行入口,可以根据需要执行某些特定的用例。的测试用例都会被 unittest 发现并执行,测试用例文件的默认匹配规则为 test*.py。

1、测试博主技术知识分享 2、pos行业知识技术分享 3、java后端技术知识分享 4、嵌入式技术知识分享 5、运维部署相关知识分享 283

jdbc中getString()方法与getObject()方法有什么区别:从类型转换到NULL处理的实战对比

JDBC 中 getString() 与 getObject() 的差异集中在类型转换与 NULL 处理:getString() 依赖驱动把值抹平成字符串,getObject() 保留数据库真实类型。本文用可复制代码对比 BIGINT、DECIMAL、TIMESTAMP 的取值结果,并给出 getObject(column, Class) 类型安全写法与 wasNull() 判空技巧。跨库 DAO 建议统一走 getObject(),配合 TaoToken 官网 https://taotoken.net/?

weixin_42610671的博客 9

深度学习工具包 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")

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

getString()方法与getObject()方法的区别

getString()方法与getObject()方法的区别 转载原链接:https://www.cnblogs.com/jiqianqian/p/6605897.html JDBC提供了getString()、getInt()和getData()等方法从ResultSet中获取数据,当查询结果集中的数据量较小时,不用考虑性能,使用这些方法完全可以满足需求,但是当ResultSet中的数据量非常大...

weixin_41873862的博客 831

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Java数据库中getString()与getObject()的区别

JDBC提供了getString()、getInt()和getData()等方法从ResultSet中获取数据。 getString()或者getInt()等方法在调用时,程序会一次性把数据放到内存中,然后调用ResultSet的next()和getString()等发放来获取数据。当数据量大到内存中放不下时会跑出异常。 getObject()方法不会一次性被读到内存中,每次调用时会直接从数据

drawing818的博客 1735

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

getString() 与 getObject() 方法有什么区别:JDBC ResultSet 取值避坑指南(含 TaoToken 统一 Key 配置)

JDBC 查询中 getString() 与 getObject() 取值差异常导致类型转换异常与游标泄漏。本文拆解 ResultSet 取值链路,给出可复制的取值工具类与单元测试,并说明如何通过 TaoToken 统一 Key 管理多模型调用凭证,官网见 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 。

weixin_29138345的博客 5

JAVA JDBC

如何通过JDBC访问数据库? 加载JDBC驱动器。将数据库的JDBC驱动加载到classpath中 加载JDBC驱动,并将其注册到DriverManager中。Class.forName(driverName) 建立数据库连接,取得Connection对象。DriverManager.getConnection(url,username,password) 建立Statement对象或者PreparedStatement对象 执行SQL语句。 访问结果集ResultSet对象。 关闭对象,释放

与 253

java程序员面试笔试宝典-4.11 Java数据库操作

4.11.1 如何通过JDBC访问数据库 Java数据库连接(Java DataBase Connectivity -JDBC)用于在java程序中实现数据库操作功能,它提供了执行SQL语句,访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口。 java.sql包中包含了JDBC操作数据库的所有类。 通过JDBC访问数据库一般有如下几个步骤: 1)加载JDBC驱动器。 将数据库的JDBC...

小强博客 274

Java基础知识(Java数据库操作)

java数据库操作 11.1 如何通过JDBC访问数据库 通过JDBC访问数据库一般有如下几个步骤: 1.加载JDBC数据库驱动器,将数据库的JDBC驱动加载到classpath中,一般将JDBC驱动复制在web-inf.lib下。 2.加载JDBC驱动,并将其注册到DriverManager中。一般使用反射class.forName(String driveName) 3.建立数据库连接,取得Connection对象,通过DriverManager.getConnection(url,username,p

qq_33700236的博客 518

java最最最基础

基本概念 1.1 Java语言有哪些优点? 1.2 Java与C++有什么异同? 1.3 为什么需要public static void main(String[] args)这个方法? 1.4 如何实现在main方法执行前输出“Hello World”? 1.5 Java程序初始化的顺序是怎样的? 1.6 Java中的作用域有哪些? 1.7 一个Java文件中是否可以定义多个类? 1.8 什...

小老鼠杰瑞的博客 201

Java基础--JDBC

一、JDBC 1、JDBC简介   (1) JDBC(Java Database Connectivity),即Java数据库连接。用于在Java程序中实现数据库操作功能。  (2)是一种用于执行SQL语句的Java API,使用户以相同的方式连接不同的数据库。  (3)JDBC提供一套标准接口,即访问数据库通用的API,不同的数据库厂商会根据各自的数据库特点去实现这些接口。 2、...

weixin_30838921的博客 305

Java数据库操作

一、如何通过JDBC访问数据库 JDBC:Java DataBase Connectivity数据库连接用于在java程序中实现操作数据库。一般步骤如下: 加载JDBC驱动器。将数据库的JDBC驱动加载到classPath,web工程的一般放大WEB-INF/lib/下,java工程项目的则用build path将jar包导进去。 加载JDBC驱动,并将其注册到DriverManager中,...

不悔的青春 1457

Oracle - 窗口函数基础,ROW_NUMBER与RANK的区别

在 Oracle 数据库的世界里,聚合函数(如 、)早已深入人心,但当业务需求从「统计总数」跃迁到「看清每个个体在其群体中的位置」时——比如:此时,仅靠 + 已力不从心。你需要的,是窗口函数(Window Function)——Oracle 自 8i 起支持,于 9i 正式成熟,12c 后全面强化,至今仍是分析型查询不可替代的底层引擎 🔧。而在这片星空中,、 和 构成了最耀眼的“排名三原色”。其中, 与 因语义相近却行为迥异,成为开发者最容易混淆、最常引发线上逻辑错误的两个函数 ⚠️。本文将用 8

千淘万漉虽辛苦,吹尽狂沙始到金 1万+

JDBC中CLOB的读写全攻略:大文本字段的坑与正确姿势

在数据库设计中,当文本字段超出VARCHAR2等普通字符串类型的容量时,CLOB(Character Large Object)便成为承载大文本的标准方案。JDBC通过java.sql.Clob接口和setCharacterStream、getClob等API,为开发者提供了与数据库类型无关的流式读写能力,从而避免将数MB的文本一次性加载进内存。理解CLOB的存储边界、JDBC类型映射以及连接与事务的生命周期管理,是保障生产环境下大文本功能稳定性的关键。无论是在Oracle中处理合同文档、说明书,还是在My

weixin_34111790的博客 289

SQL数据类型避坑指南:存储、精度与跨语言映射实战

SQL数据类型是数据库设计的基石,其本质关乎存储效率、计算精度与系统间数据契约。从VARCHAR长度选择引发的索引失效,到FLOAT浮点误差导致的金融计算偏差,再到DATETIME2与Java LocalDateTime映射时的毫秒截断,每类问题都源于对底层存储结构和跨语言转换规则的理解缺失。掌握DECIMAL(18,2)的定点精度保障、NVARCHAR的Unicode安全边界、DATETIME2(n)的纳秒级可控精度,是构建高可靠OLTP系统的关键技术能力。本文聚焦SQL Server,覆盖字符串、数值、

weixin_34208185的博客 397
上一篇: Java学习手册:JDBC中Class.forName的作用是什么?
下一篇: Java学习手册:JDBC中Statement&PreparedStatement&CallableStatement
浩比浩比
博客等级 码龄12年 395粉丝 202原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值