myeclipsehibernate 如何配置mysql_Hibernate 学习笔记(一)--用MyEclipse 6.5+MySQL 5.0的环境跑起来...

准备:建表

用MySQL在名为STMS数据库中建表person

0818b9ca8b590ca3270a3433284dd417.png

在MyEclipse中建连接数据库的连接名为MySQL_localhost,在Driver JARS中导入MySQL的驱动程序mysql-connector-java-5.1.6-bin.jar

0818b9ca8b590ca3270a3433284dd417.png

一.新建名为MySQLHibernate的Web Project

File—new—project—MyEclipse—Java Enterprice Projects—Web Project(Optional Maven Support)

在Project Name中输入MySQLHibernate---点击Finsh完成

0818b9ca8b590ca3270a3433284dd417.png

1

0818b9ca8b590ca3270a3433284dd417.png

xml version='1.0' encoding='UTF-8'?>20818b9ca8b590ca3270a3433284dd417.pngDOCTYPE hibernate-configuration PUBLIC30818b9ca8b590ca3270a3433284dd417.png          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"40818b9ca8b590ca3270a3433284dd417.png          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">50818b9ca8b590ca3270a3433284dd417.png60818b9ca8b590ca3270a3433284dd417.png70818b9ca8b590ca3270a3433284dd417.png80818b9ca8b590ca3270a3433284dd417.png90818b9ca8b590ca3270a3433284dd417.png100818b9ca8b590ca3270a3433284dd417.png110818b9ca8b590ca3270a3433284dd417.pngrootproperty>120818b9ca8b590ca3270a3433284dd417.png130818b9ca8b590ca3270a3433284dd417.png140818b9ca8b590ca3270a3433284dd417.png150818b9ca8b590ca3270a3433284dd417.png            jdbc:mysql://localhost:3306/STMS?useUnicode=true&characterEncoding=GBK160818b9ca8b590ca3270a3433284dd417.pngproperty>170818b9ca8b590ca3270a3433284dd417.png180818b9ca8b590ca3270a3433284dd417.png190818b9ca8b590ca3270a3433284dd417.png200818b9ca8b590ca3270a3433284dd417.png            org.hibernate.dialect.MySQLDialect210818b9ca8b590ca3270a3433284dd417.pngproperty>220818b9ca8b590ca3270a3433284dd417.png230818b9ca8b590ca3270a3433284dd417.png240818b9ca8b590ca3270a3433284dd417.png250818b9ca8b590ca3270a3433284dd417.png            MySql_localhost260818b9ca8b590ca3270a3433284dd417.pngproperty>270818b9ca8b590ca3270a3433284dd417.png280818b9ca8b590ca3270a3433284dd417.png290818b9ca8b590ca3270a3433284dd417.pngrootproperty>300818b9ca8b590ca3270a3433284dd417.png310818b9ca8b590ca3270a3433284dd417.png320818b9ca8b590ca3270a3433284dd417.png330818b9ca8b590ca3270a3433284dd417.png            com.mysql.jdbc.Driver340818b9ca8b590ca3270a3433284dd417.pngproperty>350818b9ca8b590ca3270a3433284dd417.png360818b9ca8b590ca3270a3433284dd417.png370818b9ca8b590ca3270a3433284dd417.pngtrueproperty>380818b9ca8b590ca3270a3433284dd417.png390818b9ca8b590ca3270a3433284dd417.png400818b9ca8b590ca3270a3433284dd417.png410818b9ca8b590ca3270a3433284dd417.png420818b9ca8b590ca3270a3433284dd417.pngsession-factory>430818b9ca8b590ca3270a3433284dd417.png440818b9ca8b590ca3270a3433284dd417.pnghibernate-configuration>

二:给项目加入Hibernate支持

选中刚刚新建的项目—MyEcplipse—Project Capabilites—Add Hibernate Capabilites

0818b9ca8b590ca3270a3433284dd417.png

Next—Next—选择连接数据库的连接名—Next--

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

点击Finash完成

三:建立Person表的POJO类

0818b9ca8b590ca3270a3433284dd417.png

1

0818b9ca8b590ca3270a3433284dd417.png

package

org.lxh.hibernate.demo01;

2

0818b9ca8b590ca3270a3433284dd417.png

3

0818b9ca8b590ca3270a3433284dd417.png

/**40818b9ca8b590ca3270a3433284dd417.png *@author∪∩BUG E-mail: tidelgl@163.com50818b9ca8b590ca3270a3433284dd417.png *@versionAug 30, 2008 8:05:41 AM60818b9ca8b590ca3270a3433284dd417.png * @person表的POJO类,类名与表名相同70818b9ca8b590ca3270a3433284dd417.png*/

8

0818b9ca8b590ca3270a3433284dd417.png

public

class

Person

{90818b9ca8b590ca3270a3433284dd417.png100818b9ca8b590ca3270a3433284dd417.png//以下的属性与Person表中的字段名相同110818b9ca8b590ca3270a3433284dd417.pngprivateString id;120818b9ca8b590ca3270a3433284dd417.pngprivateString name;130818b9ca8b590ca3270a3433284dd417.pngprivateString password;140818b9ca8b590ca3270a3433284dd417.pngprivateString sex;150818b9ca8b590ca3270a3433284dd417.pngprivateString email;160818b9ca8b590ca3270a3433284dd417.png170818b9ca8b590ca3270a3433284dd417.pngpublicString getId(){180818b9ca8b590ca3270a3433284dd417.pngreturnid;190818b9ca8b590ca3270a3433284dd417.png    }200818b9ca8b590ca3270a3433284dd417.png210818b9ca8b590ca3270a3433284dd417.pngpublicvoidsetId(String id){220818b9ca8b590ca3270a3433284dd417.pngthis.id=id;230818b9ca8b590ca3270a3433284dd417.png    }240818b9ca8b590ca3270a3433284dd417.png250818b9ca8b590ca3270a3433284dd417.pngpublicString getName(){260818b9ca8b590ca3270a3433284dd417.pngreturnname;270818b9ca8b590ca3270a3433284dd417.png    }280818b9ca8b590ca3270a3433284dd417.png290818b9ca8b590ca3270a3433284dd417.pngpublicvoidsetName(String name){300818b9ca8b590ca3270a3433284dd417.pngthis.name=name;310818b9ca8b590ca3270a3433284dd417.png    }320818b9ca8b590ca3270a3433284dd417.png330818b9ca8b590ca3270a3433284dd417.pngpublicString getPassword(){340818b9ca8b590ca3270a3433284dd417.pngreturnpassword;350818b9ca8b590ca3270a3433284dd417.png    }360818b9ca8b590ca3270a3433284dd417.png370818b9ca8b590ca3270a3433284dd417.pngpublicvoidsetPassword(String password){380818b9ca8b590ca3270a3433284dd417.pngthis.password=password;390818b9ca8b590ca3270a3433284dd417.png    }400818b9ca8b590ca3270a3433284dd417.png410818b9ca8b590ca3270a3433284dd417.pngpublicString getSex(){420818b9ca8b590ca3270a3433284dd417.pngreturnsex;430818b9ca8b590ca3270a3433284dd417.png    }440818b9ca8b590ca3270a3433284dd417.png450818b9ca8b590ca3270a3433284dd417.pngpublicvoidsetSex(String sex){460818b9ca8b590ca3270a3433284dd417.pngthis.sex=sex;470818b9ca8b590ca3270a3433284dd417.png    }480818b9ca8b590ca3270a3433284dd417.png490818b9ca8b590ca3270a3433284dd417.pngpublicString getEmail(){500818b9ca8b590ca3270a3433284dd417.pngreturnemail;510818b9ca8b590ca3270a3433284dd417.png    }520818b9ca8b590ca3270a3433284dd417.png530818b9ca8b590ca3270a3433284dd417.pngpublicvoidsetEmail(String email){540818b9ca8b590ca3270a3433284dd417.pngthis.email=email;550818b9ca8b590ca3270a3433284dd417.png    }560818b9ca8b590ca3270a3433284dd417.png570818b9ca8b590ca3270a3433284dd417.png}

58

0818b9ca8b590ca3270a3433284dd417.png

四:通过Hibernate反向工程建立person表与Person类的映射

首先调出DB Browser视图(Windows—view show—other—MyEclipse datebase—DB Browser)—展开MySQL_localhost至表person—右键表person—Hibernate Reverse Engineering

0818b9ca8b590ca3270a3433284dd417.png

Finash完成

1

0818b9ca8b590ca3270a3433284dd417.png

xml version="1.0" encoding="utf-8"?>20818b9ca8b590ca3270a3433284dd417.pngDOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"30818b9ca8b590ca3270a3433284dd417.png"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">40818b9ca8b590ca3270a3433284dd417.png70818b9ca8b590ca3270a3433284dd417.png80818b9ca8b590ca3270a3433284dd417.png130818b9ca8b590ca3270a3433284dd417.png140818b9ca8b590ca3270a3433284dd417.png150818b9ca8b590ca3270a3433284dd417.png160818b9ca8b590ca3270a3433284dd417.png170818b9ca8b590ca3270a3433284dd417.png180818b9ca8b590ca3270a3433284dd417.pngid>190818b9ca8b590ca3270a3433284dd417.png200818b9ca8b590ca3270a3433284dd417.png210818b9ca8b590ca3270a3433284dd417.pngproperty>220818b9ca8b590ca3270a3433284dd417.png230818b9ca8b590ca3270a3433284dd417.png240818b9ca8b590ca3270a3433284dd417.pngproperty>250818b9ca8b590ca3270a3433284dd417.pngclass>260818b9ca8b590ca3270a3433284dd417.pnghibernate-mapping>270818b9ca8b590ca3270a3433284dd417.png

五:建立具体操作Hibernate的类

src/org.lxh.hibernate.demo01.PersonOperate.java

1

0818b9ca8b590ca3270a3433284dd417.png

package

org.lxh.hibernate.demo01;

2

0818b9ca8b590ca3270a3433284dd417.png

3

0818b9ca8b590ca3270a3433284dd417.png

import

java.util.Iterator;

4

0818b9ca8b590ca3270a3433284dd417.png

import

java.util.List;

5

0818b9ca8b590ca3270a3433284dd417.png

6

0818b9ca8b590ca3270a3433284dd417.png

import

org.hibernate.Query;

7

0818b9ca8b590ca3270a3433284dd417.png

import

org.hibernate.Session;

8

0818b9ca8b590ca3270a3433284dd417.png

import

org.hibernate.SessionFactory;

9

0818b9ca8b590ca3270a3433284dd417.png

import

org.hibernate.Transaction;

10

0818b9ca8b590ca3270a3433284dd417.png

import

org.hibernate.cfg.Configuration;

11

0818b9ca8b590ca3270a3433284dd417.png

12

0818b9ca8b590ca3270a3433284dd417.png

/**130818b9ca8b590ca3270a3433284dd417.png *@author∪∩BUG E-mail: tidelgl@163.com140818b9ca8b590ca3270a3433284dd417.png *@versionAug 30, 2008 8:27:53 AM150818b9ca8b590ca3270a3433284dd417.png * @ 具体操作Hibernate的类160818b9ca8b590ca3270a3433284dd417.png * @ 功能:增加,删除,个性,按ID查询,模糊查询,查询全部操作170818b9ca8b590ca3270a3433284dd417.png * @注意导入的包:从org.hibernate.*;180818b9ca8b590ca3270a3433284dd417.png*/

19

0818b9ca8b590ca3270a3433284dd417.png

public

class

PersonOperate

{200818b9ca8b590ca3270a3433284dd417.png//在Hibernate中所有的操作都是通过Session来完成210818b9ca8b590ca3270a3433284dd417.pngprivateSession session=null;220818b9ca8b590ca3270a3433284dd417.png230818b9ca8b590ca3270a3433284dd417.png//Session 是一个接口,必须实例化240818b9ca8b590ca3270a3433284dd417.png//在构造方法中实例实化Session对象250818b9ca8b590ca3270a3433284dd417.pngpublicPersonOperate(){260818b9ca8b590ca3270a3433284dd417.png//找到Hibernate配置文件270818b9ca8b590ca3270a3433284dd417.pngConfiguration config=newConfiguration().configure();280818b9ca8b590ca3270a3433284dd417.png290818b9ca8b590ca3270a3433284dd417.png//从全局配置文件中取出SessionFactory300818b9ca8b590ca3270a3433284dd417.pngSessionFactory factory=config.buildSessionFactory();310818b9ca8b590ca3270a3433284dd417.png320818b9ca8b590ca3270a3433284dd417.png//从SessionFactory中取出一个Session330818b9ca8b590ca3270a3433284dd417.pngthis.session=factory.openSession();340818b9ca8b590ca3270a3433284dd417.png350818b9ca8b590ca3270a3433284dd417.png    }360818b9ca8b590ca3270a3433284dd417.png370818b9ca8b590ca3270a3433284dd417.png//所有的操作都是通过Session进行380818b9ca8b590ca3270a3433284dd417.png//(1)实现向数据库中插入数据390818b9ca8b590ca3270a3433284dd417.pngpublicvoidinsert(Person p){400818b9ca8b590ca3270a3433284dd417.png//1.开始事务410818b9ca8b590ca3270a3433284dd417.pngTransaction tran=this.session.beginTransaction();420818b9ca8b590ca3270a3433284dd417.png430818b9ca8b590ca3270a3433284dd417.png//2.执行语句440818b9ca8b590ca3270a3433284dd417.pngthis.session.save(p);450818b9ca8b590ca3270a3433284dd417.png460818b9ca8b590ca3270a3433284dd417.png//提交事务470818b9ca8b590ca3270a3433284dd417.pngtran.commit();480818b9ca8b590ca3270a3433284dd417.png    }490818b9ca8b590ca3270a3433284dd417.png500818b9ca8b590ca3270a3433284dd417.png//(2)实现修改数据库的数据510818b9ca8b590ca3270a3433284dd417.pngpublicvoidupdate(Person p){520818b9ca8b590ca3270a3433284dd417.png//1.开始事务530818b9ca8b590ca3270a3433284dd417.pngTransaction tran=this.session.beginTransaction();540818b9ca8b590ca3270a3433284dd417.png550818b9ca8b590ca3270a3433284dd417.png//2.执行语句560818b9ca8b590ca3270a3433284dd417.pngthis.session.update(p);570818b9ca8b590ca3270a3433284dd417.png580818b9ca8b590ca3270a3433284dd417.png//提交事务590818b9ca8b590ca3270a3433284dd417.pngtran.commit();600818b9ca8b590ca3270a3433284dd417.png610818b9ca8b590ca3270a3433284dd417.png    }620818b9ca8b590ca3270a3433284dd417.png630818b9ca8b590ca3270a3433284dd417.png//(3)实现查询数据库的数据640818b9ca8b590ca3270a3433284dd417.png//使用HQL按ID查询650818b9ca8b590ca3270a3433284dd417.pngpublicPerson queryById(String id){660818b9ca8b590ca3270a3433284dd417.png        Person p=null;670818b9ca8b590ca3270a3433284dd417.png680818b9ca8b590ca3270a3433284dd417.png//使用Hibernate查询语句(HQL)690818b9ca8b590ca3270a3433284dd417.pngString hql="From Person as p where p.id=?";//从Person类中对象p的id查700818b9ca8b590ca3270a3433284dd417.png710818b9ca8b590ca3270a3433284dd417.png//通过Query接口查询720818b9ca8b590ca3270a3433284dd417.pngQuery q=this.session.createQuery(hql);730818b9ca8b590ca3270a3433284dd417.png        q.setString(0, id);//下标从0开始(id是第一个属性)740818b9ca8b590ca3270a3433284dd417.pngList l=q.list();//导入的包是 java.util.List;750818b9ca8b590ca3270a3433284dd417.pngIterator iter=l.iterator();760818b9ca8b590ca3270a3433284dd417.pngif(iter.hasNext()){770818b9ca8b590ca3270a3433284dd417.png            p=(Person) iter.next();780818b9ca8b590ca3270a3433284dd417.png        }790818b9ca8b590ca3270a3433284dd417.pngreturnp;800818b9ca8b590ca3270a3433284dd417.png    }810818b9ca8b590ca3270a3433284dd417.png820818b9ca8b590ca3270a3433284dd417.png//(4)实现删除数据库的数据830818b9ca8b590ca3270a3433284dd417.pngpublicvoiddelete(Person p){840818b9ca8b590ca3270a3433284dd417.png//1.开始事务850818b9ca8b590ca3270a3433284dd417.pngTransaction tran=this.session.beginTransaction();860818b9ca8b590ca3270a3433284dd417.png870818b9ca8b590ca3270a3433284dd417.png//2.执行语句880818b9ca8b590ca3270a3433284dd417.pngthis.session.delete(p);890818b9ca8b590ca3270a3433284dd417.png900818b9ca8b590ca3270a3433284dd417.png//提交事务910818b9ca8b590ca3270a3433284dd417.pngtran.commit();920818b9ca8b590ca3270a3433284dd417.png930818b9ca8b590ca3270a3433284dd417.png    }940818b9ca8b590ca3270a3433284dd417.png950818b9ca8b590ca3270a3433284dd417.png//通过HQL语句实现删除数据库的数据(推荐)960818b9ca8b590ca3270a3433284dd417.pngpublicvoiddelete(String id){970818b9ca8b590ca3270a3433284dd417.png        String hql="delete Person where id=?";980818b9ca8b590ca3270a3433284dd417.png        Query q=this.session.createQuery(hql);990818b9ca8b590ca3270a3433284dd417.png//设置参数1000818b9ca8b590ca3270a3433284dd417.pngq.setString(0, id);1010818b9ca8b590ca3270a3433284dd417.png//执行更新语句1020818b9ca8b590ca3270a3433284dd417.pngq.executeUpdate();1030818b9ca8b590ca3270a3433284dd417.png//提交事务处理1040818b9ca8b590ca3270a3433284dd417.pngthis.session.beginTransaction().commit();1050818b9ca8b590ca3270a3433284dd417.png1060818b9ca8b590ca3270a3433284dd417.png    }1070818b9ca8b590ca3270a3433284dd417.png1080818b9ca8b590ca3270a3433284dd417.png//通过HQL查询全部数据1090818b9ca8b590ca3270a3433284dd417.pngpublicList queryAll(){1100818b9ca8b590ca3270a3433284dd417.png        List l=null;1110818b9ca8b590ca3270a3433284dd417.png        String hql="From Person as p";1120818b9ca8b590ca3270a3433284dd417.png        Query q=this.session.createQuery(hql);1130818b9ca8b590ca3270a3433284dd417.png        l=q.list();1140818b9ca8b590ca3270a3433284dd417.pngreturnl;1150818b9ca8b590ca3270a3433284dd417.png    }1160818b9ca8b590ca3270a3433284dd417.png1170818b9ca8b590ca3270a3433284dd417.png//通过HQL查询全部数据1180818b9ca8b590ca3270a3433284dd417.pngpublicList queryByLike(String cond){1190818b9ca8b590ca3270a3433284dd417.png        List l=null;1200818b9ca8b590ca3270a3433284dd417.png//条件1210818b9ca8b590ca3270a3433284dd417.pngString hql="From Person as p where p.name like ?";1220818b9ca8b590ca3270a3433284dd417.png        Query q=this.session.createQuery(hql);1230818b9ca8b590ca3270a3433284dd417.png//设置参数1240818b9ca8b590ca3270a3433284dd417.pngq.setString(0,"%"+cond+"%");1250818b9ca8b590ca3270a3433284dd417.png        l=q.list();1260818b9ca8b590ca3270a3433284dd417.pngreturnl;1270818b9ca8b590ca3270a3433284dd417.png    }1280818b9ca8b590ca3270a3433284dd417.png1290818b9ca8b590ca3270a3433284dd417.png}

130

0818b9ca8b590ca3270a3433284dd417.png

六:建立测试类

src/org.lxh.hibernate.demo01.TestPO.java

1

0818b9ca8b590ca3270a3433284dd417.png

package

org.lxh.hibernate.demo01;

2

0818b9ca8b590ca3270a3433284dd417.png

3

0818b9ca8b590ca3270a3433284dd417.png

import

java.util.Iterator;

4

0818b9ca8b590ca3270a3433284dd417.png

import

java.util.List;

5

0818b9ca8b590ca3270a3433284dd417.png

6

0818b9ca8b590ca3270a3433284dd417.png

/**70818b9ca8b590ca3270a3433284dd417.png *@author∪∩BUG E-mail: tidelgl@163.com80818b9ca8b590ca3270a3433284dd417.png *@versionAug 29, 2008 9:53:52 PM90818b9ca8b590ca3270a3433284dd417.png * @POJO类的测试类100818b9ca8b590ca3270a3433284dd417.png*/

11

0818b9ca8b590ca3270a3433284dd417.png

public

class

TestPO

{120818b9ca8b590ca3270a3433284dd417.png130818b9ca8b590ca3270a3433284dd417.png/**140818b9ca8b590ca3270a3433284dd417.png     *@paramargs150818b9ca8b590ca3270a3433284dd417.png*/160818b9ca8b590ca3270a3433284dd417.pngpublicstaticvoidmain(String[] args){170818b9ca8b590ca3270a3433284dd417.png180818b9ca8b590ca3270a3433284dd417.png//生成POJO类实例化对象190818b9ca8b590ca3270a3433284dd417.pngPerson p=newPerson();200818b9ca8b590ca3270a3433284dd417.png210818b9ca8b590ca3270a3433284dd417.png//p.setId("Hibernate");220818b9ca8b590ca3270a3433284dd417.png//p.setId("MySQL");230818b9ca8b590ca3270a3433284dd417.png//p.setName("学习笔记");240818b9ca8b590ca3270a3433284dd417.pngp.setName("使用用Hibernate");250818b9ca8b590ca3270a3433284dd417.png        p.setPassword("123");260818b9ca8b590ca3270a3433284dd417.png        p.setEmail("tidelgl@163.com");270818b9ca8b590ca3270a3433284dd417.png        p.setSex("男");280818b9ca8b590ca3270a3433284dd417.png290818b9ca8b590ca3270a3433284dd417.png//实例化PersonOperate对象300818b9ca8b590ca3270a3433284dd417.pngPersonOperate po=newPersonOperate();310818b9ca8b590ca3270a3433284dd417.png320818b9ca8b590ca3270a3433284dd417.png//1.插入数据330818b9ca8b590ca3270a3433284dd417.png//po.insert(p);340818b9ca8b590ca3270a3433284dd417.png350818b9ca8b590ca3270a3433284dd417.png//2.修改数据360818b9ca8b590ca3270a3433284dd417.png//po.update(p);370818b9ca8b590ca3270a3433284dd417.png380818b9ca8b590ca3270a3433284dd417.png//3.查询数据390818b9ca8b590ca3270a3433284dd417.png//Person p = po.queryById("Hibernate");400818b9ca8b590ca3270a3433284dd417.png//System.out.println(p.getName());410818b9ca8b590ca3270a3433284dd417.png420818b9ca8b590ca3270a3433284dd417.png//通过HQL查询全部数据430818b9ca8b590ca3270a3433284dd417.png//List l = po.queryAll();440818b9ca8b590ca3270a3433284dd417.png//通过HQL模糊查询450818b9ca8b590ca3270a3433284dd417.png//List l = po.queryByLike("用");460818b9ca8b590ca3270a3433284dd417.png//Iterator iter = l.listIterator();470818b9ca8b590ca3270a3433284dd417.png//while(iter.hasNext()){480818b9ca8b590ca3270a3433284dd417.png//Person p = (Person)iter.next();490818b9ca8b590ca3270a3433284dd417.png//System.out.println(p.getName());500818b9ca8b590ca3270a3433284dd417.png//510818b9ca8b590ca3270a3433284dd417.png//}520818b9ca8b590ca3270a3433284dd417.png530818b9ca8b590ca3270a3433284dd417.png//4.删除数据540818b9ca8b590ca3270a3433284dd417.png//po.delete(p);//通过查询结果删除550818b9ca8b590ca3270a3433284dd417.png//po.delete("Hibernate");//通过HQL语句删除560818b9ca8b590ca3270a3433284dd417.png570818b9ca8b590ca3270a3433284dd417.png580818b9ca8b590ca3270a3433284dd417.png    }590818b9ca8b590ca3270a3433284dd417.png600818b9ca8b590ca3270a3433284dd417.png}

例子结构:

0818b9ca8b590ca3270a3433284dd417.png

61

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值