IDEA mybatis 连接数据库的配置文件(不同数控据库版本不同配置)

SpringBoot固定资产管理系统源码:含折旧计算、多环境部署与报表导出 这套固定资产管理系统用SpringBoot搭建,后端配MySQL和MyBatis,能完成资产从入库登记、部门分配、责任人绑定、分类管理,到折旧自动计算、状态切换(在用/闲置/报废)、出入库流水记录,以及按部门/类别/状态等维度生成统计报表并导出Excel。项目自带完整初始化SQL脚本(update.sql),支持开发、测试、生产三套配置(application.properties),提供Dockerfile方便容器化部署,还集成了GitLab CI和Travis CI的自动化构建配置(.gitlab-ci 阅读详情

MySql 8.0以上版本

datebase.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db4?&useSSL=false&serverTimezone=UTC
jdbc.user=root
jdbc.password=123456

MySql 8.0以下版本

datebase.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db4?useSSL=true&useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=123456

db4是数据库名称

ISO7816协议深度解析-简单易懂协议详解(一)-- 复位,字符帧,及ATR 1. 摘要 IC卡必须支持T=0或T=1的协议,但不是同时支持这两种协议,而终端则必须同时支持T=0和T=1的协议。 • T=0通讯协议是异步半双工字符传输协议; • T=1通讯协议是异步半双工块传输协议; 在ISO7816-3标准中,具体规定了这两种协议:T0和T1。 IC卡所用的协议在TD1中指定,如果在复位应答信息中没有TD1,则表示用T=0的协议进行通讯。在复位应答后,IC卡和终端之间即用IC卡指定的协议进行通讯。 2. 硬件接口 1)VCC:电源输入(A类:5V, B类:3V) 2)GND:地 3 阅读详情

相关推荐

半导体测试(一)

探针台是一种用于在晶圆上进行配合探针卡进行电路量测的设备,在测试过程中,探针工作站会将探针与晶圆上的每个die进行接触,以进行电性测量。在这个过程中,每个die都被测试以确保它能基本满足器件的特征或设计规格书(Specification),通常包括电压、电流、时序和功能的验证。晶圆是一个圆形的硅片,在这个半导体的基础之上,建立了许多独立的单个的电路;在所有的die都被探测(Probed)之后,晶圆被切割成独立的dice,这就是常说的die saw,所有被标示为失效的die都被报废,。

m0_37606066的博客 8424

IDEA 连接不上数据库(多个mysql版本混乱导致)

描述:今天找了个开源项目来跑,刚创建好数据库,想在idea里面测试连接,发现先是连不上数据库,然后连上了,又发现找不到目标数据库,浪费了半天的时间,在此记录一下。 一、连接不上数据库的原因 Mysql不同版本的驱动问题,如下所示。 1、点击小扳手图标,可以查看mysql的驱动jar包。 2、如果当前的驱动跟你的mysql server 对不上,idea可以设置,然后download,实在不行,自己去https://mvnrepository.com/找对应版本的驱动jar包导入。 二...

baidu_41258190的博客 1万+

解决Keil uVision许可证管理中Unknown Product错误

嵌入式开发中,IDE工具的许可证管理是确保开发环境正常运行的关键环节。Keil uVision作为ARM架构的主流开发工具,其许可证系统采用加密验证机制,通过产品版本识别实现授权控制。当出现Unknown Product错误时,通常源于版本兼容性问题或区域发行版差异,这直接影响开发工具链的可用性。特别是在维护历史项目或使用中国特供版时,开发者常会遇到此类问题。通过分析许可证类型、调整安装配置或建立虚拟化开发环境等工程实践方案,可以有效解决这类授权验证故障,保障嵌入式项目的持续集成与交付效率。

weixin_33743248的博客 363

My Batis配置文件

mybatis配置文件两大类:1.mybatis主配置文件;2.mybatis的mapper文件; 1、mybatis主配置文件,提供mybatis全局设置的。包含的内容 日志,数据源,mapper文件位置。 2、mapper文件:写sql语句的。一个表一个mapper文件 1.Settingsbuf settings是mybatis的全局设置,影响整个mybatis的运行。这个设置一般使用默认值。 2.配置环境 environments:环境标签,在他里面可以配置多个environment 属性:id 自

HDW1203的博客 1099

致远OA公文管理模块相关操作

致远oa协同办公系统 公文管理模板 相关操作

weixin_59666050的博客 4274

脑影像分析软件推荐 | JuSpace

JuSpace是一种允许基于 MRI 测量与核成像衍生估计的跨模态关联的工具包,它涵盖各种神经递质系统,包括多巴胺能、血清素能、去甲肾上腺素能和 GABA(γ-氨基丁酸) 神经传递。JuSpace 由一组 Matlab 功能以及涵盖各种受体系统的 PET 受体图谱组成。

NHKJ_ZF的博客 1707

详细讲解:Mybatis中连接本地数据库文件配置,简单数据增删改查

详细讲解:Mybatis中连接本地数据库文件配置,简单数据增删改查 mybatis是对jdbc的封装,开源的持久层框架,简化增删改查 封装了获取连接,执行sql,关闭连接 封装了sql参数的设置 封装了结果集中记录映射成实体对象 mybatis自带数据库连接池 这次测试的项目目录。这里用的maven创建的一简单的项目里面Mapper.xml可以不用管,不同的数据表的操作可以写在不同的Mapper....

谷咕咕 6826

lammps后处理:堆垛层错和孪晶的数量统计

python调用ovito包可以免费实现ovito pro版本的功能,不需要安装ovito pro软件,如统计位错线长度、CNA结构、键角分布等,如需深入学习,可考虑报名python ovito后处理课程,或lammps一对一课程。lammps金属变形模拟中,可能会产生堆垛层错或者孪晶等结构,但是ovito免费版本无法统计这些结构的数量。使用python和ovito软件包,则可以方便的统计出这些结构的数量。大家好,我是小马老师。

lammps_jiayou的博客 466

NO.1 MyBatis配置文件:配置连接数据库的环境,实现数据库连接

MyBatis配置连接数据库的环境有两种方式,方式一在MyBatis的核心配置文件中配置数据库连接信息;该方式在只需要在MyBatis的核心配置文件中配置连接数据库的各个属性值(如:driver、url、username、password等属性)即可。第一步:首先在项目的main文件加下的resources文件夹下创建数据库连接的配置文件(这里命名为jdbc)type:设置事务管理的方式,有两种方式:JDBC、MANAGED。default:设置默认使用的环境的id。JNDI:表示使用上下文中的数据源。

qq_46053741的博客 5749

高通SDX12:ProSLIC Si32185移植调试

高通 SDX12 语音芯片slic 音频驱动 Si32185

不秃头的程序猿Gabriel的博客 2038

【知识分享】什么是同轴传输线结构?

同轴传输线的几何形状由中心导体组,嵌在介电材料(Dielectric)中,并且,被连续的外导体所包围,也被称为屏蔽(Shield)。内外导体有相同的几何中心轴,因此得名同轴(Coaxial)。

一只豌豆象的博客 2372

MyBatis中的两个主要配置文件

- 该文件是sql映射文件(英文名称:sql mapper) 在这里写sql语句 mybatis会执行该文件中的sql语句1.指定约束文件部分:

heliuerya的博客 1726

手把手教你学Simulink——基于通信协议与标准的场景实例:卫星通信中的网络安全协议(IPSec)仿真

随着卫星通信在国防、金融、应急指挥、能源管网等关键领域的广泛应用,其安全性已成为系统设计的核心要求。然而,卫星链路具有广播特性、长距离传输、地面站分布广等特点,极易遭受窃听、篡改、重放、中间人攻击等网络威胁。传统的“信任链路层安全”已不足以应对现代网络攻击。为此,国际标准组织(如IETF、ETSI、CCSDS)推荐在卫星通信中部署协议,实现端到端的数据机密性、完整性、身份认证和抗重放保护。本文将手把手教你如何在中构建一个符合标准的仿真系统,涵盖从明文传输到加密隧道的完整安全链路建模。本文完整实现了。

MHD0815的博客 149

SSM智能工厂数控机床92e6y(程序+源码+数据库+调试部署+开发环境)

随着制造业的快速发展,智能工厂已成为行业转型升级的重要方向。数控机床作为智能工厂的核心设备,其性能和效率直接影响到整个制造过程的品质与效率。然而,传统的数控机床管理方式存在诸多不足,如运行效率不高、故障处理不及时等。因此,开发一款智能工厂数控机床管理系统具有重要意义,有助于提高数控机床的运行效率和加工精度,降低运营成本,保障生产线的稳定运行。

CK3040的博客 1011

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java计算机毕业设计(附源码)智能工厂数控机床(ssm+mysql+maven+论文)

通过引入智能传感器和控制系统,数控机床可以实时监测刀具磨损状况、工件加工质量,并自动调整切削参数,以确保加工过程的稳定性和产品的质量。同时,智能工厂中的数控机床可以实现与其他设备的互联互通,形成灵活的生产链,快速响应市场需求的变化。智能工厂通过集成先进的信息技术、自动化技术以及人工智能等多领域技术,实现生产流程的智能化、柔性化和自动化,从而提高生产效率,减少人力成本,增强产品的质量和竞争力。综上所述,智能工厂中的数控机床不仅提升了制造业的自动化水平,还为产品质量的提升和生产效率的增长提供了有力保障。

卢卡毕设程序 957

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

ssm/php/node/python智能工厂数控机床

通过对生产过程的实时监控和智能调度,可以有效减少生产过程中的浪费和误差,提高生产效率,同时保证产品质量的稳定性。通过引入先进的自动化技术和人工智能技术,可以实现设备的自动维护和故障预警,降低设备维修成本,延长设备使用寿命。智能工厂数控机床是指在传统数控机床的基础上,通过引入先进的信息技术、自动化技术和人工智能技术,实现对生产过程的全程监控、智能调度和优化决策的一种高端制造装备。近年来,随着工业4.0、中国制造2025等战略的实施,智能工厂数控机床的研究和应用逐渐成为国内外研究的热点。

果果 程序设计 895

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

springboot钢构企业的生产过程控制管理系统设计与实现_ngja5ia7

SpringBoot钢构企业的生产过程控制管理系统(系统代码为ngja5ia7)旨在优化钢结构制造企业的生产流程管理,提升效率与质量控制。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。内置钢结构加工标准工艺库(如下料、组焊、校正等),支持自定义工艺路线配置。基于ECharts引擎构建多维数据分析视图,包括:订单交付准时率、车间产能利用率、质量合格率等KPI指标。支持生产订单的创建、分解与排程,实现订单优先级动态调整。

mind526的博客 265

AI编程工具选型指南:按信任层级匹配Java微服务场景

AI编程工具本质上是开发者与代码之间的‘信任中介’,其核心价值不在于生成能力的强弱,而在于对特定技术栈(如Spring Boot、MyBatis Plus)和工程阶段(MVP验证、微服务拆分、合规审计)的理解深度与执行可靠性。从毫秒级代码补全到分钟级架构重构,工具能力随‘信任阈值’递进——低延迟补全依赖上下文捕获精度,高阶生成需框架语义理解,而企业级应用更强调版本兼容性、合规证据链与供应链风险穿透。Java开发者尤其面临框架幻觉、Lombok版本错配、多环境配置漂移等典型问题,亟需具备‘Java生态感知力’

weixin_34268169的博客 512

CnOpenData 线上招聘网站信息数据

CnOpenData线上招聘网站信息数据库是一个覆盖中国主流招聘平台、时间跨度长、更新频率高的劳动力市场需求侧大数据集合。本数据库汇集了,为学术界和业界提供了一扇实时观察中国劳动力市场动态的窗口。

CnOpenData_wj的博客 2622

Mybatis的文件配置和基本使用

​ 先来一个最简单的查询

qq_74417712的博客 1486

如何在MyBatis中进行数据库连接配置?

这种方式将数据库连接信息提取到一个单独的方法中,方便管理和维护。同时,可以根据需要动态设置数据库连接参数。通过以上两种方式,你可以在 MyBatis 中进行数据库连接配置,根据项目的实际情况选择合适的方式。

alankuo的专栏 1260

Mybatis学习之配置文件(三)

MyBatis配置文件中标签必须按照固定的顺序(有的标签可以不写,但顺序一定不能乱):properties、settings、typeAliases、typeHandlers、objectFactory、objectWrapperFactory、reflectorFactory、plugins、environments、databaseIdProvider、mappers。

PP东博客 1017

mybatis配置文件详解

mybatis框架本身其实只有一个配置文件,及mybatis-config.xml,只是这个配置文件中有一个属性mappers(映射器),可能会包含大量的SQL映射文件,所以通常会单独扩展,形成一个个单独的xxxMapper.xml映射文件。自定义别名可以直接设置,如下,在使用com.it.learn.Author的地方可以直接使用别名Author但当某个项目中特别多java类需要设置别名时,可以直接指定包名扫描,如下,每个在com.it.learn包中的Java类,都可以使用首字母小写的名称来作为别名。

weixin_42189550的博客 5789

MyBatis配置文件

介绍   MyBatis配置灵活,支持多种配置方式: 完全代码配置。MyBatis 提供完整的配置类,用户可以调用这些配置类完成所有配置工作。 基于xml的配置方式。 外部框架配置,比如Spring、SoringBoot。   采用xml配置配置数据信息,通常命名为mybatis-config.xml,该 XML文件的根节点为configuration,根节点内可以包含的一级节点及其含义如下所示: properties:属性信息,相当于 MyBatis的全局变量。 se

qq_43341842的博客 4441

mybatis(一)连接数据库操作

使用Mybatis直接链接数据库操作数据 1. 建立对应表的用户实体类(普通的java bean)User.java 2. 定义DAO接口(也就是Mapper映射接口),与数据库交互作用:UserMapper.java 3.创建统一写sql语句的XML文件与DAO接口(也就是Mapper映射接口)对应,路径报名要一致,XML文件与数据层接口类的名称一致,UserMapper.xml 4. 建立Mybatis核心配置文件mybatis-config.xml,在resources文件包下。配置文件中定义了数据

u011529483的博客 1万+

Mybatis核心配置文件详解

Mybatis核心配置文件详解

汤键的博客 1195
上一篇: IDEA 编译错误 java: 程序包org.springframework.web.bind.annotation不存在
下一篇: 初学Mybatis增删改查报错:java.lang.ExceptionInInitializerError ### The error may exist in dao/userMapper.xml
Aokaka
博客等级 码龄7年 3粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值