利用weblogic的数据源作为hibernate的数据源的例子

hibernate数据源配置 一个hibernate数据源的c3p0配置,希望对你有帮助 立即下载
在网上,我们可以看到许多关于hibernate入门的例子,但是好多是让hibernate自己管理连接池的。我在这里给出一个直接利用weblogic 发布的数据源的例子。步骤如下

1.写一个准备用于持久化的类


  1. package com.jagie.business.organization;
  2.  
  3. import java.io.Serializable;
  4.  
  5. /**
  6.  * <p>Title: </p>
  7.  * <p>Description: 权限</p>
  8.  * <p>Copyright: Copyright (c) 2003</p>
  9.  * <p>Company: www.jagie.com</p>
  10.  * @author Jagie
  11.  * @version 1.0
  12.  */
  13.  
  14. public class Permission implements Serializable {
  15.   private String ID;//pk
  16.   private String name;//名称
  17.   private String description;//描述
  18.   private String module;//模块id
  19.   private String power;//权值,$分隔的操作id例如:browse$add$delete$change
  20.   private int scope;//范围,0:本人,1:本单位,2:所有单位
  21.   public static void main(String[] args) {
  22.   }
  23.   public String getID() {
  24.     return ID;
  25.   }
  26.   public void setID(String ID) {
  27.     this.ID = ID;
  28.   }
  29.   public String getName() {
  30.     return name;
  31.   }
  32.   public void setName(String name) {
  33.     this.name = name;
  34.   }
  35.   public String getDescription() {
  36.     return description;
  37.   }
  38.   public void setDescription(String description) {
  39.     this.description = description;
  40.   }
  41.   public String getModule() {
  42.     return module;
  43.   }
  44.   public void setModule(String module) {
  45.     this.module = module;
  46.   }
  47.   public String getPower() {
  48.     return power;
  49.   }
  50.   public void setPower(String power) {
  51.     this.power = power;
  52.   }
  53.   public int getScope() {
  54.     return scope;
  55.   }
  56.   public void setScope(int scope) {
  57.     this.scope = scope;
  58.   }
  59. }


2.编写一个xml文件,名称为Permission.hbm.xml,一定要确保在运行时该xml文件和Permission.class在一起


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
    <class name="com.jagie.business.organization.Permission" table="SYS_Permission">
        <id name="ID">
            <generator class="uuid.hex"/>
        </id>
        <property name="name"/>
        <property name="module"/>
        <property name="description"/>
        <property name="power"/>
        <property name="scope"/>
    </class>
</hibernate-mapping>


3.在weblogic 上配置连接池和数据源,我的数据源的jndi名字为OilDS


4.修改classpath下的hibernate.properties文件,并保存

a.添加一行:hibernate.dialect net.sf.hibernate.dialect.OracleDialect
b.找到JNDI Datasource这一段,在下面设置hibernate.connection.datasource OilDS
c.找到Plugin ConnectionProvider部分,去掉hibernate.connection.provider_class 
net.sf.hibernate.connection.DatasourceConnectionProvider一句的注释
d.找到 Transaction API部分,去掉hibernate.transaction.manager_lookup_class 
net.sf.hibernate.transaction.WeblogicTransactionManagerLookup一句的注释
e.保存修改

5.在类路径中编写一个jndi.properties文件,为了考虑灵活性,防止硬编码,该文件非常重要,内容如下

java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
java.naming.provider.url=t3://localhost:7001(我的weblogic服务器就在本机上,也许你的需要适当修改)


6.好啦,万事俱备,让我们写一个Test类来测试一下hibernate的威力好了,原码如下.

  1. package com.jagie.business.organization;
  2.  
  3. import net.sf.hibernate.Session;
  4. import net.sf.hibernate.Transaction;
  5. import net.sf.hibernate.SessionFactory;
  6. import net.sf.hibernate.cfg.Configuration;
  7. import net.sf.hibernate.tool.hbm2ddl.SchemaExport;
  8.  
  9. import javax.naming.InitialContext;
  10. import javax.naming.Context;
  11. import javax.sql.*;
  12. import java.sql.*;
  13. import java.util.*;
  14. import com.jagie.utils.j2ee.*;
  15.  
  16. public class Test {
  17.   private static SessionFactory sessions;
  18.  
  19.   public static void main(String[] args) throws Exception {
  20.     
  21.     Configuration conf = new Configuration().addClass(Permission.class);
  22.     sessions = conf.buildSessionFactory();
  23.    
  24.     //生成并输出sql到文件(当前目录)和数据库
  25.     SchemaExport dbExport = new SchemaExport(conf);
  26.     dbExport.setOutputFile("sql.txt");
  27.     dbExport.create(true, true);
  28.  
  29.  
  30.     //start......
  31.     Session s = sessions.openSession();
  32.     Transaction t = s.beginTransaction();
  33.  
  34.     //1.用普通使用方式建立对象,填充数据
  35.     Permission p1 = new Permission();
  36.     p1.setName("1111");
  37.  
  38.     //2.持久化
  39.     s.save(p1);
  40.     //此时p1已经可以在数据库中找到
  41.     t.commit();
  42.     s.close();
  43.  
  44.   }
  45. }


7.运行该类,即可看到数据库已经建立了一个sys_permission的表,并且插入了一条数据。很简单吧!
 
STM32H743玩转以太网:不用FreeRTOS,手把手搞定LAN8742和DHCP(附MPU配置避坑指南) 本文详细介绍了在STM32H743裸机环境下实现以太网通信的完整方案,重点讲解了LAN8742 PHY芯片的配置和DHCP自动获取IP的实现。通过CubeMX配置、内存布局优化和MPU设置,避开了H7系列常见的Cache陷阱,提供了无操作系统环境下的高效网络通信解决方案。 阅读详情

相关推荐

保姆级教程:2026版Windows电脑换新,微信QQ聊天记录无损搬家(附路径修改避坑指南)

本文提供2026版Windows电脑换新时微信QQ聊天记录无损迁移的保姆级教程,涵盖最新版微信/QQ的存储路径修改和避坑指南。通过详细步骤和实战技巧,确保数据迁移过程中不丢失任何珍贵对话记录和文件,特别适合需要保留完整聊天记录的用户。

weixin_42629815的博客 2478

Hibernate连接Weblogic的数据源

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34400525的博客 333

SLAM算法的优缺点

SLAM(Simultaneous Localization and Mapping,同时定位与地图构建)算法是一种通过传感器数据实时估计机器人自身位置和构建环境地图的技术。

selenia8860的博客 2906

[转载]利用weblogic的数据源作为hibernate的数据源的例子

利用weblogic的数据源作为hibernate的数据源的例子在网上,我们可以看到许多关于hibernate入门的例子,但是好多是让hibernate自己管理连接池的。我在这里给出一个直接利用weblogic 发布的数据源的例...

congji3817的博客 216

深入解析iDP3的Learning模块:从数据集构建到3D动作预测的代码实现

本文深入解析iDP3框架的Learning模块,从数据集构建到3D动作预测的完整代码实现。通过扩散模型实现视觉输入到动作序列的端到端预测,详细介绍数据采集、增强策略、模型架构及训练技巧,帮助开发者掌握3D动作预测策略的核心技术。

k0l1m2n3o的博客 310

PRPD图谱分析从入门到精通:5种典型放电模式的识别手册

本文详细解析PRPD图谱分析技术,重点介绍电晕放电、悬浮放电等5种典型放电模式的识别方法。通过37组真实案例对比,提供关键识别区和诊断流程图模板,帮助工程师快速掌握变电站设备状态监测的核心技能,提升绝缘缺陷诊断准确率。

weixin_29214199的博客 466

【WebLogic使用】3.WebLogic配置jndi数据源

一、什么是jndi数据源 JNDI是Java命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一。 我们平时开发web程序的时候,在连接数据库的时候,往往会编写一个连接数据库的类, 例如连接Mysql的类: package cn.edu.hpu.util; import java.sql.Connection; i

程序猿之洞 1万+

VTK 显示大量点云数据及交互(点云拾取、着色、测量等)功能

VTK (Visualization Toolkit) 是一个强大的开源可视化库,非常适合处理点云数据。下面将介绍如何使用 VTK 显示大量点云数据,并实现点云拾取、着色、测量等功能。

深之JohnChen的专栏 1994

Spring数据源配置之Hibernate

只适合新手中的新手参考: 1.使用Hibernate在applicationContext.xml里面需要配置如下: classpath:hibernate.cfg.xml org.hibernate.dialect.MySQL5Dialect true update

fei641327936的博客 3433

通过Simulink搭建一个智能微电网能量管理系统(Energy Management System, EMS)

通过上述代码实现,您可以逐步创建一个智能微电网能量管理系统。多源能量集成:整合光伏、风力发电、柴油发电机、电池储能等多种能源资源。负荷预测与调度:基于历史数据和天气预报,预测未来负荷和可再生能源输出,进行优化调度。储能系统优化:设计合理的充放电策略,确保储能系统的高效利用和寿命延长。经济性分析:评估不同运行模式下的经济性,考虑电价、维护成本等因素。环境影响评估:分析微电网对环境的影响,如减少碳排放、提高可再生能源利用率等。硬件在环仿真(HILS)

amy_mhd的博客 314

深入解析:AndroidManifest.xml 与 Qt 6.7.0 的整合

本文探讨了在Qt 6.7.0和CMake构建Android应用时,AndroidManifest.xml未被正确识别的问题。通过分析CMake配置错误、文件路径问题等可能原因,提出了在CMakeLists.txt中明确指定路径、确保目录结构正确等解决方案,并给出了示例项目演示。文章强调正确配置AndroidManifest.xml对获取权限和应用功能的重要性,为Qt开发者提供了实用的调试建议。

2501_90323865的博客 110

在WebLogic中使用Hibernate

   关于这个话题,javaeye其实有一篇文章专门介绍了(http://www.javaeye.com/viewtopic.php?t=245),但是可能不是很详细,最近也有一些人我这方面的问题,所以在这里重新介绍一下。不过我还是推荐你在看本文之前首先看一下上面提到的那篇文章。首先说明一下我们这里使用的程序,为了更容易理解,我们使用hibernate文档(英文版: http://www.hibe

关于软件开发技术和挖掘机技术。。。 3941

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

Weblogic 8.1与Hibernate的结合的解决方案

版权声明:方便学习使用,本文可以任意转载    基于Hibernate在O/R Mapping方面的优势,目前项目中采用Hibernate实体替代EJB EntityBean, 本人在WebLogic 8.1的环境下做了一个测试,用EJB SessionBean调用Hibernate的数据实体。因为Weblogic和Hibernate都提供了数据库连接池,JNDI,事务等功能。主导思想还是想利用W

晨明的专栏 1618

android 蓝牙通讯demo

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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Weblogic9与Hibernate应用系统的安装与部署

 1、运行server900_zh_CN_win32.exe,选择所有默认选项。2、运行Configuration wizard: 新建Weblogic域,下一步; 生成一个自动配置的域,下一步; 输入用户名,密码,下一步; 选择开发模式,选择Weblogic自带的Sun SDK 1.5.0_03,下一步; 自定义环境和服务设置,选择是,下一步; 配置管理服务器,名称自己起,端口改成:80,

上海夜未眠 1522

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

在hibernate中应用weblogic的数据源时的配置文件

weblogic        org.hibernate.dialect.SQLServerDialect        t3://localhost:7001        CSNDataSource        weblogic        weblogic.jndi.WLInitialContextFactory                   --

风生水起 2973

weblogic11g 数据库连接从hibernate变为weblogic数据源后,日期变的显示为:00:00:00:0

由于考虑到数据库密码安全的问题,公司最近需要将以前hibernate连接数据库改为weblogic连接数据库。于是同样的环境,我们配置为数据源后,测试应用发现,数据库为DATE型的字段,显示到界面的信息以前显示为:2015-09-01 现在显示为:2015-09-01 00:00:00:0 。于是在报错数据和格式转换中,有的地方就会出错。在不修改代码的情况下,我们通过以下办法处理达到需求目的,具体

sxjs212的博客 1019

使用Spring+Hibernate连接JNDI数据源

现在Spring+Hibernate这对组合已经成为J2EE事实上的开发标准,而且J2EE程序一般都需要运行在J2EE应用服务器容器中。虽然我们可以使用Apache组织提供的DBCP数据库连接池访问数据库,但是一个更好的选择是使用应用服务器本身提供的数据库连接池。在开发环境中,我们使用Tomcat,生产环境中,则使用Weblogic、WebSphere等应用服务器。我的配置环境中,应用服务器的版本...

zhli986的博客 449

[转载]Weblogic81和Hibernate 的集成问题

Weblogic81和Hibernate 的集成问题费了一天,终于搞定了Hibernate和Weblogic81的集成安装问题。网上资料或多或少涉及到了,但都不完整、详细。本文参考了 java视线论坛版主的文章和hibernat...

congji3817的博客 157

WebLogic的安装与使用

  1、 默认安装Weblogic902、 配置weblogic domain – 通过weblogic配置向导进行配置3、 启动weblogic - user_projects/domains/base_domain/bin 目录下,运行startWeblogic.cmd4、 部署OA项目a)         打包OA项目b)        拷贝到自动发布目录c)  

imnol的专栏 893

weblogic如何使用hibernate

在set SERVER_NAME=myserver和@REM Call WebLogic Server之间添加set HIBERNATE_HOME=d:/project/newbxb/bjinfosys/WEB-INF/lib/set PRE_CLASSPATH=%WL_HOME%/server/lib/antlr-2.7.4.jar;%HIBERNATE_HOME%/hibernate3.jar

evanerv0079的专栏 669

达梦数据源配置_weblogic配置数据源连接达梦数据库

达梦7JDBC驱动分为Dm7JdbcDriver14、Dm7JdbcDriver15、Dm7JdbcDriver16,分别对应Jdk1.4、Jdk1.5、Jdk1.6;达梦7提供不同hibernate和jdk版本的方言包,用户可根据开发环境选择对应的方言包版本,相关方言包驱动在dialect目录下;Hibernate.cfg.xml配置要求:驱动名称dm.jdbc.driver.DmDriver方...

weixin_39657662的博客 494

怎样在hibernate中使用weblogic的JNDI?

由于工作关系,需要在hibernate中使用weglogic的JNDI,可是从网上查到的一种实现方法,行不通。 从网上查资料,有一个方案比较可行的,就是编写一个实现T3StartupDef接口的启动类,让weblogic启动的时候加载这个类来初始化数据源,但尝试的结果是,不管怎么修改weblogic的启动文件startWebLogic.cmd,始终在启动weblogic时找不到这个类。下面

迷笛的专栏 1005

hibernate与tomcat和weblogic配置数据源的不同之处

tomcat hibernate.connection.datasource java:comp/env/JDBC ygbx weblogic hibernate.connection.datasource JDBC ygbx JDBC ygbx是web容器中配置的数据源名称.

745
上一篇: 两种Java容器类List和Set分析
下一篇: Java处理XML学习
tycsl
博客等级 码龄21年 4粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值