log4j配置打印mybatis sql语句

Mybatis系列教材 (十七)- 相关概念 - 开启log4j显示执行的SQL语句 有时候需要打印日志,知道mybatis执行了什么样的SQL语句,以便进行调试。这时,就需要开启日志,而mybatis自身是没有带日志的,使用的都是第三方日志,这里讲解如何开启log4j日志功能。把你自己做的项目文件夹,和我的可运行项目文件夹进行比较。的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。在确保可运行项目能够正确无误地运行之后,再严格照着教程的步骤,对代码模仿一遍。,可以较为明显地提升学习速度,跨过学习路上的各个槛。为了开启log4j,需要使用对应的jar包,请在。 阅读详情

[置顶] log4j配置打印mybatis sql语句

  1810人阅读  评论(0)  收藏  举报
  分类:
 

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. log4j.rootLogger=DEBUG, stdout    
  2.     
  3. log4j.appender.stdout=org.apache.log4j.ConsoleAppender    
  4. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout    
  5. log4j.appender.stdout.layout.ConversionPattern=[service] %d - %c -%-4r [%t] %-5p %c %x - %m%n    
  6.     
  7. #log4j.appender.R=org.apache.log4j.DailyRollingFileAppender    
  8. #log4j.appender.R.File=../logs/service.log    
  9. #log4j.appender.R.layout=org.apache.log4j.PatternLayout    
  10. #log4j.appender.R.layout.ConversionPattern=[service] %d - %c -%-4r [%t] %-5p %c %x - %m%n    
  11.     
  12. #log4j.logger.com.ibatis = debug    
  13. #log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = debug    
  14. #log4j.logger.com.ibatis.common.jdbc.ScriptRunner = debug    
  15. #log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = debug    
  16. #log4j.logger.java.sql.Connection = debug    
  17. log4j.logger.java.sql.Statement = debug    
  18. log4j.logger.java.sql.PreparedStatement = debug    
  19. log4j.logger.java.sql.ResultSet =debug    

在开发的过程中为了能够显示sql语句以此来跟踪mybatis的的操作,虽然网络上的配置都是轻轻的一句话概括之,但是按照他们的方法一一试之,都是毫无效果,各种煎熬相比遇到相似问题的同仁应该有此感受。为了让大家能够少走弯路,现将自己的心得分享给大家。欢迎交流


我们现在分几种情况处理:

 1、此种情况只出现mybatis使用,无其他的包介入(如spring等,因为有些包会引入其他的日志系统,会造成干扰,稍后讲解)

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1.  <dependency>     
  2.     <groupId>log4j</groupId>  
  3.     <artifactId>log4j</artifactId>  
  4.     <version>1.2.17</version>  
  5.     </dependency>  
  6.   
  7.     <dependency>  
  8.     <groupId>org.slf4j</groupId>  
  9.     <artifactId>slf4j-log4j12</artifactId>  
  10.     <version>1.7.21</version>  
  11.     </dependency>  
  12.   
  13.        <dependency>  
  14.        <groupId>org.slf4j</groupId>  
  15.        <artifactId>slf4j-api</artifactId>  
  16.        <version>1.7.21</version>  
  17.        </dependency>  
  18.   
  19. 1、单独开放第三个无法打印sql语句  
  20. 2、第一种和第三种无法打印sql语句  
  21. 3、其他情况都可以打印出sql语句  
  22. 4、最后得出的结论可能是版本冲突的问题  
[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. 总而言之  
  2. 1、没有slf4j,只要log4j即可  
  3. 2、有slf4j,则必须要有slf4j-log4j12,其他的可有可无  
此时可以配置log4j.properties和log4j.xml均可以实现

如:log4j.properties

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. log4j.rootLogger=DEBUG, stdout    
  2.     
  3. log4j.appender.stdout=org.apache.log4j.ConsoleAppender    
  4. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout    
  5. log4j.appender.stdout.layout.ConversionPattern=[service] %d - %c -%-4r [%t] %-5p %c %x - %m%n    
  6.     
  7. #log4j.appender.R=org.apache.log4j.DailyRollingFileAppender    
  8. #log4j.appender.R.File=../logs/service.log    
  9. #log4j.appender.R.layout=org.apache.log4j.PatternLayout    
  10. #log4j.appender.R.layout.ConversionPattern=[service] %d - %c -%-4r [%t] %-5p %c %x - %m%n    
  11.     
  12. #log4j.logger.com.ibatis = debug    
  13. #log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = debug    
  14. #log4j.logger.com.ibatis.common.jdbc.ScriptRunner = debug    
  15. #log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = debug    
  16. #log4j.logger.java.sql.Connection = debug    
  17. log4j.logger.java.sql.Statement = debug    
  18. log4j.logger.java.sql.PreparedStatement = debug    
  19. log4j.logger.java.sql.ResultSet =debug   


2、mybatis和其他架构包混用,

最头痛的就是这种,试了很多种办法,最后才校验出一种合适的办法。就是一定要用log4j.xml配置

配置如下:

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">  
  3. <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"  
  4.     debug="false">  
  5.       
  6.     <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">  
  7.         <layout class="org.apache.log4j.PatternLayout">  
  8.             <param name="ConversionPattern" value="[%d{dd/MM/yy hh:mm:ss:sss z}] %5p %c{2}: %m%n" />  
  9.         </layout>  
  10.     </appender>  
  11.   
  12. <!--     <appender name="FILE" class="org.apache.log4j.RollingFileAppender"> -->  
  13. <!--         <param name="file" value="${user.home}/foss-framework.log" /> -->  
  14. <!--         <param name="append" value="true" /> -->  
  15. <!--         <param name="maxFileSize" value="10MB" /> -->  
  16. <!--         <param name="maxBackupIndex" value="100" /> -->  
  17. <!--         <layout class="org.apache.log4j.PatternLayout"> -->  
  18. <!--             <param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n" /> -->  
  19. <!--         </layout> -->  
  20. <!--     </appender> -->  
  21.   
  22. <!--     <appender name="framework" -->  
  23. <!--         class="com.deppon.foss.framework.server.components.logger.BufferedAppender"> -->  
  24. <!--         <layout class="org.apache.log4j.PatternLayout"> -->  
  25. <!--             <param name="ConversionPattern" value="[%d{dd/MM/yy hh:mm:ss:sss z}] %5p %c{2}: %m%n" /> -->  
  26. <!--         </layout> -->  
  27. <!--     </appender> -->  
  28.   
  29.     <!-- 下面是打印 mybatis语句的配置 -->  
  30.     <logger name="com.ibatis" additivity="true">  
  31.         <level value="DEBUG" />  
  32.     </logger>  
  33.   
  34.     <logger name="java.sql.Connection" additivity="true">  
  35.         <level value="DEBUG" />  
  36.     </logger>  
  37.   
  38.     <logger name="java.sql.Statement" additivity="true">  
  39.         <level value="DEBUG" />  
  40.     </logger>  
  41.   
  42.     <logger name="java.sql.PreparedStatement" additivity="true">  
  43.         <level value="DEBUG" />  
  44.     </logger>  
  45.   
  46.     <logger name="java.sql.ResultSet" additivity="true">  
  47.         <level value="DEBUG" />  
  48.     </logger>  
  49.   
  50.     <root>  
  51.         <level value="DEBUG" />  
  52.         <appender-ref ref="CONSOLE" />  
  53. <!--         <appender-ref ref="FILE" /> -->  
  54. <!--         <appender-ref ref="framework" /> -->  
  55.     </root>  
  56. </log4j:configuration>   

好的能够打印出sql语句啦,成功啦!

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. [24/07/16 03:49:25:025 CST] DEBUG spring.SqlSessionUtils: Creating a new SqlSession  
  2. [24/07/16 03:49:25:025 CST] DEBUG spring.SqlSessionUtils: SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5a90d465] was not registered for synchronization because synchronization is not active  
  3. [24/07/16 03:49:25:025 CST] DEBUG datasource.DataSourceUtils: Fetching JDBC Connection from DataSource  
  4. [24/07/16 03:49:25:025 CST] DEBUG datasource.DriverManagerDataSource: Creating new JDBC DriverManager Connection to [jdbc:mysql://localhost:3307/security_db?useUnicode=true&characterEncoding=utf-8]  
  5. [24/07/16 03:49:25:025 CST] DEBUG transaction.SpringManagedTransaction: JDBC Connection [com.mysql.jdbc.JDBC4Connection@51e19e59] will not be managed by Spring  
  6. [24/07/16 03:49:25:025 CST] DEBUG UserMapper.getUserNum: ==>  Preparing: select COUNT(DISTINCT(user.id)) as total_num from user, user_roles where user.id = user_roles.User_id   
  7. [24/07/16 03:49:25:025 CST] DEBUG UserMapper.getUserNum: ==> Parameters:   
  8. [24/07/16 03:49:25:025 CST] DEBUG UserMapper.getUserNum: <==      Total: 1  

补充:有兴趣的同学可以试验下

自定义MyBatis 日志

MyBatis使用其内部LoggerFactory作为真正的日志类库使用的门面。其内部的LaggerFactory会将日志记录任务委托给如下的所示某一个日志实现,日志记录优先级由上到下顺序递减:

  • l  SLF4J
  • l  ApacheCommons Logging
  • l  Log4j2
  • l  Log4j
  • l  JDKlogging

如果MyBatis未发现上述日志记录实现,则MyBatis的日志记录功能无效。

如果你的运行环境中,在classpath中有多个可用的日志类库,并且你希望MyBaits使用某个特定的日志实现,你可以通过调用以下其中一个方法:

  • žorg.apache.ibatis.logging.LogFactory.useSlf4jLogging();
  • ž  org.apache.ibatis.logging.LogFactory.useLog4JLogging();
  • ž  org.apache.ibatis.logging.LogFactory.useLog4J2Logging();
  • ž  org.apache.ibatis.logging.LogFactory.useJdkLogging();
  • ž  org.apache.ibatis.logging.LogFactory.useCommonsLogging();
  • ž  org.apache.ibatis.logging.LogFactory.useStdOutLogging();
SpringBoot学习之用log4j2打印SQL语句(四十) 可以看到后台的SQL语句已经成功打印出来了,而且日志中包含我们配置的“Hello,World”,说明我们的配置的确生效了,今天的课程就到这里,我们下回再见。-- 此处 定义到Mapper接口所在的包路径即可 也可指定某个文件的日志级别-->上面数据源部分的配置和你的mapper-locations配置,大家根据自己的实际情况修改配置即可。这里我为了演示,还故意临时注释了mybatis-plus的log-impl配置。这里我方便演示,做了一个最简单的配置,注释部分大家酌情选择是否需要选择放开, 阅读详情

相关推荐

JAVA + 海康威视SDK + FFmpeg+ SRS 实现海康威视摄像头二次开发

海康威视SDK接入方案摘要 本文介绍了使用海康威视官方SDK开发物联网平台摄像头接入功能的完整方案。系统采用Java后端集成HCNetSDK控制摄像头,通过FFmpeg将RTSP流转为RTMP推送到SRS流媒体服务器,前端基于HTTP-FLV协议实现视频播放。文章详细说明了开发准备工作,包括SDK下载、SRS部署、FFmpeg安装等关键步骤,并提供了数据库表设计和接口定义。核心部分展示了如何集成海康SDK,包括提取必要代码、加载DLL文件、配置打包插件等具体实现细节,最终形成了一套支持实时预览、回放和下载的

2401_83057947的博客 2265

Spring---log4j在控制台打印sql语句

在做后台的时候,有的时候会出现一些bug,这些bug不会报错,可能是因为业务上的原因导致的,例如sql写的不对,mybatis里面查询错误的时候,这个时候,想看一下执行的sql,但是在项目中没有,就比较费劲,利用log4j在控制台打印出来sql语句可以清楚的看到这个业务流程。 一、pom.xml文件里面添加log4j的文件。 <dependency> <group...

人生有点bug的程序员的博客 8555

嵌入式开发:用状态机实现STM32按键消抖,告别阻塞延时

在嵌入式系统开发中,处理异步事件和实时响应是核心挑战。状态机作为一种强大的编程模型,通过定义有限的状态、事件和状态转换规则,将复杂的、非线性的控制逻辑转化为清晰、确定且易于维护的代码结构。其技术价值在于实现逻辑的模块化、异步化和非阻塞化,能显著提升代码的可读性、可扩展性和系统实时性。这一思想广泛应用于协议解析、用户界面交互、传感器数据处理等场景。本文以嵌入式开发中基础的按键处理为例,针对传统“延时消抖”方法会阻塞主循环、影响实时性的痛点,深入讲解如何运用状态机思维重构按键消抖逻辑。通过分析状态机的核心三要素

weixin_33377602的博客 340

在Mybatis中通过Log4j打印sql信息

1.导入log4j的坐标 注意版本问题,可能会出事。反正1.2.8有点小问题,一直报一个方法找不到。奇奇怪怪 用1.2.17的没啥问题 <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> 2.指定 MyBatis 所用日志

影子 3201

NVIDIA GPU任务调度全景:从Block分配到Warp发射

GPU并行计算的核心是任务调度,而CUDA kernel在GPU上的执行并非简单的一次性操作,而是经过从CPU命令队列到硬件前端,再到GigaThread引擎和Warp Scheduler的多层协同。理解这一过程,是性能优化的基础。Warp作为硬件调度的基本单位,其状态切换与延迟隐藏能力直接决定计算单元的利用率;而Occupancy作为衡量SM上活跃Warp池大小的指标,也并非越高越好,需要结合访存模式与资源占用综合判断。对于多任务并发场景,Stream优先级、计算抢占、MIG硬件隔离与MPS软件共享等机制

weixin_32612263的博客 270

stm32h743 FM25CL64铁电存储器踩坑记录

调试FRAM经验总结: 1、跑完FRAM读写代码之后,逻分仪发现总线上只有简单、短暂的电平变化,明显不是SPI的通信数据。 (经提醒发现连片选拉高拉低都没有执行到位) 后来发现是因为片选引脚没有初始化,所以直接拉高拉低是无效的。 2、引脚成功初始化后发现CLK、MISO、MOSI数据仍不正常。通过加打印的方式发现跑到HAL_SPI_Transmit中之后还没有执行到写SPI数据寄存器的那一步就return了。 后来经提醒发现: 上图中的指针使用方式错误 后来又发现: 打印出来发现

kuniqiw的博客 3844

mybatis结合 log4j单元测试打印出sql语句

在用单元测试,测试mybatis的demo的时候,发现使用log4j只能够打印出测试结果,无法打印出完整的sql信息。 为了打印sql语句信息,需要结合log4jjdbc-log4j2就可以查看完整的SQL调试信息。 一、maven的pom文件引用jar 在pom文件中配置maven,下面3个都需要。 org.bgee.log4jdbc-log4j2

遇见未知的自己 6233

Python全栈入门到实战【基础篇 22】生成器与迭代器:底层逻辑与实战场景

Python迭代器与生成器:惰性求值的高效实践 摘要:本文深入解析Python中迭代器和生成器的核心机制与应用场景。迭代器通过实现__iter__()和__next__()方法实现惰性求值,适合处理大数据集和无限序列。生成器作为迭代器的简化实现,通过yield关键字自动实现迭代器协议,代码更简洁。文章详细对比了可迭代对象与迭代器的区别,演示了自定义迭代器和生成器函数的实现方式,并介绍了生成器表达式这一高效替代列表推导式的方案。通过斐波那契数列等实例,展示了惰性求值在内存优化方面的优势,以及生成器在流式数据处

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 3263

配置Log4j,使得MyBatis打印出SQL语句

【环境参数】 JDK:jdk1.8.0_25 IDE:Eclipse Luna Servie Release 1 框架:Spring 4.1.5 + SpringMVC 4.1.5 + MyBatis 3.2.2 &nbsp; 【配置步骤】 一、设置MyBatis的Setting(非必须,不同环境下,可能不需要该设置)。 在“src/main/java/resources”目录下,创建mybati...

chengwb Blog 2840

多物理场耦合仿真-主题032-电磁-流体耦合

电磁-流体耦合,即磁流体动力学(MHD, Magnetohydrodynamics),是研究导电流体在电磁场中运动规律的学科,涉及电磁场与流体力学的深度耦合。本主题系统阐述磁流体动力学的基本理论、控制方程和数值方法。首先介绍MHD的基本概念和物理基础,包括导电流体的性质、电磁场基本方程;然后详细推导MHD控制方程组,包括连续性方程、动量方程、能量方程和电磁场方程;接着讨论MHD流动的特征参数,如Hartmann数、磁雷诺数、相互作用参数等;最后通过六个典型工程案例展示MHD分析的实际应用,包括电磁泵、磁流体

2401_87715305的博客 425

Python实战:打造学生信息管理系统

通过本教程,我们构建了一个简单的学生信息管理系统,实现了基本的添加、删除、修改和查询功能。当然,这个系统还有很多可以改进和扩展的地方,比如添加用户界面、增加数据持久化功能、支持批量操作等。简介:本文将介绍如何使用Python编写一个功能齐全的学生信息管理系统,包括添加、删除、修改和查询学生信息的基本操作。学生信息管理系统是学校日常管理中不可或缺的一部分,它能够帮助管理人员快速、准确地管理学生信息,提高工作效率。为了实现上述功能,我们可以设计一个包含学生信息的字典,并使用函数来封装各个操作。

铭渊老黄 1492

ssm环境下配置log4j打印mybatis的sql语句

概念:slf4j-api : Simple Logging Facade for Java slf4j-api为java提供的简单日志的Facade(Facade:门面,更底层一点说就是接口)。它允许用户以自己的喜好,在工程中通过slf4j接入不同的日志系统。 因此,slf4j入口就是众多接口的集合,它不负责具体的日志实现,只在编译时负责寻找合适的日志系统进行绑定。具体有哪些接口,全...

ddp92709的博客 583

Microsemi Libero系列教程(六)——Identify片上逻辑分析仪的使用

文章目录FPGA如何进行在线调试关于Microsemi片上逻辑分析仪FPGA片上逻辑分析仪原理预期效果0.准备一个创建好的Libero工程1.新建identify工程,并添加想要监测的信号2.管脚分配,编译下载3.设置触发类型4.IICE逻辑分析仪核资源占用 系列教程:Microsemi Libero系列教程 FPGA如何进行在线调试 对于嵌入式系统来说,如单片机,进行硬件级程序调试时,通常采用的是JLink/ST-Link调试器,在线调试的方式来获取程序实时运行的状态,可以观察程序运行流程、各种变量的值

whik1194的博客 1万+

ssm打印sql如何开启_ssm环境下配置log4j打印mybatis的sql语句

概念:slf4j-api : Simple Logging Facade for Javaslf4j-api为java提供的简单日志的Facade(Facade:门面,更底层一点说就是接口)。它允许用户以自己的喜好,在工程中通过slf4j接入不同的日志系统。因此,slf4j入口就是众多接口的集合,它不负责具体的日志实现,只在编译时负责寻找合适的日志系统进行绑定。具体有哪些接口,全部都定义在slf4...

weixin_39624606的博客 379

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

mybatis配置log4j控制台打印SQL语句

不尿性,直接入题: SpringMVC + Mybatis 中 通过log4j向控制台打印SQL语句---&gt;失败!! 上配置:   ######################################################################### #Root Logger #log4j.rootLogger = [ level ] , appe...

Handsome丶Boy 3512

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

配置log4j打印mybatis SQL语句到控制台

1:从maven依赖仓库找到log4j依赖包  maven仓库地址:http://mvnrepository.com/artifact/ojdbc/ojdbc/10.2.0.4.02:在maven项目下 resource下添加log4j.xml这里提示找不到dtd文件,自行百度解决,大致是项目下没有.dtd文件 找到  eclipse版本自带的STS又对不上版本号,所以没有去理会了&lt;?xml...

红尘乱韶的博客 2849

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

使用log4j 结合mybatis 打印sql语句的配置

使用log4j 结合mybatis 打印sql语句的配置 添加log4j.properties的配置文件,内容如下: log4j.rootLogger=debug,stdout log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.append...

biu_biu_duda的博客 2611

【原】配置Log4j,使得MyBatis打印出SQL语句

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

weixin_33785108的博客 472

Mybatis-第N篇配置log4j1、log4j2打印执行的sql语句

1、log4j1配置 目录结构: conf.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-con...

weixin_30409849的博客 263

log4j配置mysql控制台打印_mybatis配置log4j在控制台打印输出SQL语句

SpringMVC+Mybatis通过log4j向控制台打印SQL语句1.首先看看Mybatis官方介绍:LoggingMybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具:SLF4JApache Commons LoggingLog4j 2Log4jJDK logging具体选择哪个日志实现工具由MyBatis的内置日志工厂确定。它会使用最先找到的(按上文列举的顺序查找)。 如...

weixin_29056101的博客 911

log4j2与mybatis集成,打印出sql语句配置

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- log4...

qq_30347133的博客 2339
上一篇: Servlet.init() for servlet axis threw exception
下一篇: Logback手记(一)
javaPie
博客等级 码龄16年 1171粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值