《Java面向对象程序设计(第4版)》课件chapter14 JDBC技术和数据库开发应用.ppt

上传人(卖家):momomo 文档编号:5787116 上传时间:2023-05-09 格式:PPT 页数:79 大小:838KB
下载 相关 举报
《Java面向对象程序设计(第4版)》课件chapter14 JDBC技术和数据库开发应用.ppt_第1页
第1页 / 共79页
《Java面向对象程序设计(第4版)》课件chapter14 JDBC技术和数据库开发应用.ppt_第2页
第2页 / 共79页
《Java面向对象程序设计(第4版)》课件chapter14 JDBC技术和数据库开发应用.ppt_第3页
第3页 / 共79页
《Java面向对象程序设计(第4版)》课件chapter14 JDBC技术和数据库开发应用.ppt_第4页
第4页 / 共79页
《Java面向对象程序设计(第4版)》课件chapter14 JDBC技术和数据库开发应用.ppt_第5页
第5页 / 共79页
点击查看更多>>
资源描述

1、教学目标教学目标14.1 JDBC14.1 JDBC技术技术nJDBCJDBC的体系结构的体系结构nJDBC APIJDBC API的主要类和接口简介的主要类和接口简介14.14.创建创建MySQLMySQL的数据库的数据库nMySQLMySQL的安装和配置的安装和配置n创建数据库创建数据库studystudy14.3 Java14.3 Java应用程序通过应用程序通过JDBCJDBC存取数据库的过程存取数据库的过程n应用应用JDBCJDBC存取数据库的步骤存取数据库的步骤n创建创建MyEclipseMyEclipse的项目实例:的项目实例:完成完成JDBCJDBC访问访问MySQLMySQL

2、数据库数据库studystudy教学目标教学目标(续续)14.4 JDBC14.4 JDBC中的主要接口和类中的主要接口和类nDriverManagerDriverManager类类n连接连接SQL ServerSQL Server、OracleOracle和和AccessAccess数据库的程序举例数据库的程序举例nConnectionConnection接口接口nStatementStatement接口接口nPreparedStatementPreparedStatement接口接口nCallableStatementCallableStatement 接口接口 与与JavaJava执行执

3、行MySQLMySQL存储过程的程序举例存储过程的程序举例nJavaJava数据类型和数据类型和SQLSQL中支持的数据类型的对应关系中支持的数据类型的对应关系nResultSetResultSet接口接口nResultSetMetaDataResultSetMetaData接口接口nDatabaseMetaDataDatabaseMetaData接口接口教学目标教学目标(续续)14.5 14.5 基于基于C/SC/S模式的学生信息数据库管理系统的开发模式的学生信息数据库管理系统的开发n创建实体层创建实体层BeanBeann创建数据库访问层创建数据库访问层:插入、修改、删除和浏览插入、修改、删

4、除和浏览n创建用户图形界面层创建用户图形界面层14.6 JTable14.6 JTable组件与应用实例:以表格形式显示数据库内容组件与应用实例:以表格形式显示数据库内容14.1 JDBC14.1 JDBC技术技术nJava程序使用JDBC(Java Database Connectivity)API与数据库进行通信14.1.1 JDBC14.1.1 JDBC的体系结构的体系结构Java应用程序JDBC APIJDBC Driver Manager数据库驱动器Java应用程序数据库数据库数据库Java应用程序图14-1 JDBC的体系结构14.1.2 JDBC14.1.2 JDBC驱动程序类型

5、驱动程序类型1 1JDBC-ODBC bridge plus ODBC driverJDBC-ODBC bridge plus ODBC driver(类型(类型1 1):JDBC-ODBC桥接驱动程序。其底层通过ODBC(Open databas Connectivity)驱动程序来连接数据库。2 2 Native-API partly-Java driverNative-API partly-Java driver(类型(类型2 2):本地 API-部份用 Java 来编写的驱动程序。此种方式先将JDBC函数调用转换成数据库客户端函数库的API(位于客户端计算机),然后与数据库相连。3 3

6、JDBC-Net pure Java driverJDBC-Net pure Java driver(类型(类型3 3):JDBC 网络纯 Java 驱动程序。首先JDBC驱动程序会将JDBC函数调用解释成与数据库无关的网络通信协议,经过中介服务器的第二次解析,最后才转换成相对应的数据库通信协议.4.Native-protocol pure Java driver 4.Native-protocol pure Java driver(类型(类型4 4)本地协议纯 Java驱动程序。这种驱动程序将 JDBC 调用直接转换为 DBMS 所使用的网络协议。14.1.3 JDBC API14.1.3

7、JDBC API的主要类和接口简介的主要类和接口简介nJDBC API由一系列与数据库访问有关的类和接口组成,它们放在java.sql子包中。其中主要的类和接口有:nDriverManager类:nConnection接口 nStatement接口、与子类PreparedStatement、CallableStatement;nResultSet;nCallableStatement接口 14.2 14.2 创建创建MySQLMySQL的数据库的数据库nMySQL的特点:n最受欢迎的开源关系数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。nMySQL被广泛地应用在In

8、ternet的中小型网站,具备体积小、速度快、总体拥有成本低,n开放源码nMySQL使用结构化查询语言SQL进行数据库管理和操作。n免费下载网址:http:/ MySQLMySQL的安装和配置的安装和配置1.下载下载Windows版的安装软件包:版的安装软件包:(1)MySql数据库管理软件:mysql-essential-5.1.68-win32.msi (必备)(2)mysql的JDBC驱动程序:mysql-connector-java.jar (必备)(3)mysql的图形化管理界面软件:mysql-gui-tools-5.0-r17-win32.msi(可选)14.2.1 MySQLM

9、ySQL的安装和配置的安装和配置2.安装和配置安装和配置MySQL软件软件(1)双击 mysql-essential-5.1.68-win32.msi,将进入安装界面n不断点击Next,点击Finish后,n开始配置服务器,在配置过程中:n选择Standard Configuration选项;nCharacter Set选择字符集为utf8 或 GBK;nModify Secuity Setings中,设置root账号的用户口令,如为root;n 其他选项选择默认值则可,直到最后点击Execute完成服务器配置。14.2.1 MySQLMySQL的安装和配置的安装和配置2.安装和配置安装和配置

10、MySql软件软件(2)MySQL安装完成后,在Windows桌面出现程序项:“MySQL-MySql Server5.1-MySQL Command Line Client”双击“MySQL Command Line Client”,打开MySql的SQL命令行处理窗口:mysql-essential-5.1.68-win32.msi安装完成后,只能以DOS命令行方式使用。14.2.1 MySQLMySQL的安装和配置的安装和配置2.安装和配置安装和配置MySql软件软件(3)安装mysql-gui-tools-5.0-r17-win32.msi,安装完成后程序项出现:单击“MySql Ad

11、ministrator”,将进入MySQL的图形化管理界面14.2.1 MySQLMySQL的安装和配置的安装和配置2.安装和配置安装和配置MySql软件软件 单击单击“MySql Administrator”,将进入将进入MySQL的的图形化管理界面图形化管理界面:14.2.1 MySQLMySQL的安装和配置的安装和配置2.安装和配置安装和配置MySql软件软件 单击单击“MySql Administrator”,将进入将进入MySQL的的图形化管理界面图形化管理界面:14.2.2 14.2.2 创建数据库创建数据库studystudyn数据库Study存放着三张表student,cour

12、se,sc:n学生的基本信息student:学号、姓名、性别、年龄和所在系各字段组成;n课程情况表course:课程号、课程名和学分各字段组成;n学生学习各门课程的学习成绩sc:学号、课程号和学习成绩各字段组成。create database study;use study;CREATE TABLE course(cno char(2),cname char(16),credit decimal(2,1);insert into course values(c1,数据库,4);insert into course values(c2,数学,2.5);insert into course val

13、ues(c3,信息系统,4);insert into course values(c4,英语,3);CREATE TABLE student(sno char(5),sname char(10),ssex char(2),sage int ,sdept char(20);insert into student values(20001,张小明,女,23,信息系);insert into student values(20002,李强,男,21,计算机系);insert into student values(20003,王方,女,28,信息系);insert into student valu

14、es(20004,刘晨,男,18,计算机系);CREATE TABLE SC(Sno char(5),Cno char(2),Grade decimal(3,0);insert into SC values(20001,c1,91);insert into SC values(20001,c2,92);insert into SC values(20001,c3,93);insert into SC values(20001,C4,94);insert into SC values(20002,c2,81);insert into SC values(20002,c3,80);insert i

15、nto SC values(20004,C1,70);insert into SC values(20004,C2,71);insert into SC values(20004,C3,72);14.14.2.2 创建数据库创建数据库studystudyn将study.sql文件拷贝到C盘根目录下,打开MySQL Command Line Client,运行脚本命令:source c:study.sql14.3 Java14.3 Java应用程序通过应用程序通过JDBCJDBC存取数据库的过程存取数据库的过程n 本节首先介绍通过JDBC存取数据库的步骤,n 然后通过一个简单实例演示整个过程。1

16、4.3.1 14.3.1 应用应用JDBCJDBC存取数据库的步骤存取数据库的步骤 Java应用程序通过JDBC存取数据库的步骤:1.加载JDBC驱动程序,建立数据库连接 2.建立与执行SQL语句 3.处理结果集 4.关闭数据库连接1.加载JDBC驱动程序,建立数据库连接。n加载加载JDBCJDBC驱动程序驱动程序,语句格式:语句格式:Class.forName(String jdbc_driver);Class.forName(String jdbc_driver);例如:加载例如:加载MySQLMySQL驱动程序的语句:驱动程序的语句:Class.forName(com.mysql.jdb

17、c.Driver);Class.forName(com.mysql.jdbc.Driver);n使用使用DriverManger.getConnection(),DriverManger.getConnection(),建立一个新的建立一个新的数据库连接。方法格式:数据库连接。方法格式:Connnetion getConnection (String connURlConnnetion getConnection (String connURl,String loginName,String password)String loginName,String password);返回连接到特定数

18、据库的返回连接到特定数据库的ConnnetionConnnetion对象。对象。connURlconnURl用来定义连接数据库的参数。用来定义连接数据库的参数。1.1.加载加载JDBCJDBC驱动程序,建立数据库连接。驱动程序,建立数据库连接。n例例14-1 14-1 连接连接MySQLMySQL的数据库的数据库StudyStudy,用户名为,用户名为”rootroot”,口令,口令为为“rootroot”。则建立数据库连接代码:。则建立数据库连接代码:try try Class.forName(com.mysql.jdbc.Driver);Class.forName(com.mysql.jd

19、bc.Driver);String url=jdbc:mysql:/localhost:3306/study;String url=jdbc:mysql:/localhost:3306/study;String login=root,password=root;String login=root,password=root;Connection Connection connconn=DriverManager.getConnection(=DriverManager.getConnection(url,login,password)url,login,password)catch(Class

20、NotFoundException e)/catch(ClassNotFoundException e)/输出捕获到的异常信息输出捕获到的异常信息 e.printStackTrace();e.printStackTrace();catch(SQLException sqlException)catch(SQLException sqlException)e.printStackTrace();e.printStackTrace();2 2建立建立SQLSQL语句对象,执行查询语句对象,执行查询 建立新数据库连接以后,必须先建立一个Statement对象才能执行SQL语句。3种类型的Statem

21、emt:Statement、PreparedStatement和CallableStatement。(1(1)使用)使用StatementStatement。示例如下:Statement Stmt=conn.createStatement();String sqlQuery=“select*from Employee”;ResultSet rs=Stmt.executeQuery(sqlQuery);2 2建立建立SQLSQL语句对象,执行查询语句对象,执行查询(续续)(2(2)使用)使用PreparedStatementPreparedStatement 用于处理预编译的用于处理预编译的SQ

22、LSQL语句,可重复执行。语句,可重复执行。PreparedStatement prepStmt=conn.prepareStatement(SELECT*FROM Employee);ResultSet rs=prepStmt.executeQuery();用WHERE限制SELECT语句的查询结果:PreparedStatement prepStmt=conn.prepareStatement (SELECT*FROM Employee WHERE ename=?)prepStmt.setString(1,SCOTT);ResultSet rset=prepStmt.executeQuer

23、y();3 3建立建立SQLSQL语句对象,执行查询语句对象,执行查询(续续)执行带2个参数的UPDATE语句,示例如下:PreparedStatement prepStmt=conn.prepareStatement (UPDATE emp SET sal=?WHERE ename=?);prepStmt.setInt(1,100000);prepStmt.setString(2,Rich);prepStmt.executeUpdate();3 3建立建立SQLSQL语句对象,执行查询语句对象,执行查询(续续)(3)(3)CallableStatementCallableStatement:

24、调用数据库的存储过程,语:调用数据库的存储过程,语法法:CallableStatement CallableStatement 变量名变量名=conn.prepareCall(conn.prepareCall(“call call 存储过程名称存储过程名称”););示例:CallableStatement callStmt=conn.prepareCall(call update_salary(?,?);callStmt.setInt(1,7788);/设置要传入的第一个输入参数(?)值是7788 callStmt.setInt(2,10000);/设置要传入的第二个输入参数(?)值是1000

25、0 callStmt.execute();2 2建立建立SQLSQL语句对象,执行查询语句对象,执行查询(续续)建立了建立了StatementStatement或或PreparedStatementPreparedStatement或或CallableStatementCallableStatement对象对象之后,之后,3 3种方法执行种方法执行SQLSQL语句:语句:executeQuery()executeQuery():执行执行selectselect的的SQLSQL查询语句查询语句 executeUpdateexecuteUpdate()():执行执行insertinsert、del

26、etedelete、update update 更新语句,以及更新语句,以及DDLDDL语句。语句。executeexecute()():执行:执行SQLSQL语句。语句。2 2建立建立SQLSQL语句对象,执行查询语句对象,执行查询(续续)/SQL/SQL查询语句查询语句ResultSet rset=ResultSet rset=stmt.executeQuery(SELECT stmt.executeQuery(SELECT*FROM emp)FROM emp);/update/update语句语句stmt.executeUpdate(update emp set age=age+1)st

27、mt.executeUpdate(update emp set age=age+1);/delete/delete语句语句stmt.executeUpdate(delete emp for age=20);stmt.executeUpdate(delete emp for age=20);/DDL/DDL语句语句stmt.execute(CREATE TABLE tablestmt.execute(CREATE TABLE table“+(no CHAR(10),name CHAR(10);+(no CHAR(10),name CHAR(10);3.3.处理结果集处理结果集可用while循环打

28、印出ResultSet记录集内所有记录。while(rs.next()System.out.println(rs.getInt(1);System.out.println(rs.getString(2);其中:1、2表示结果集中的各字段相对位置。例如:rs.getInt(1)将读取结果集中第1个整型字段的的内容,也可以通过字段名读取内容,写成:rs.getInt(“sno”)4.关闭数据库连接n通过JDBC存取数据库时最后一个操作是关闭Connection、Statement、ResultSet等对象.rs.close();stmt.close();con.close();14.3.2 14.

29、3.2 创建创建MyEclipseMyEclipse的项目实例:的项目实例:完成完成JDBCJDBC访问访问MySQLMySQL数据库数据库studystudy 例14-2 通过JDBC存取study数据库的course表。/JdbcExample.java/JdbcExample.javaimport java.sql.import java.sql.*;class JdbcExample1 class JdbcExample1 public static void main(String args)public static void main(String args)String dri

30、verClassName=com.mysql.jdbc.Driver;String driverClassName=com.mysql.jdbc.Driver;String url=String url=jdbc:mysql:/localhost:3306/study?useUnicode=true&characterEjdbc:mysql:/localhost:3306/study?useUnicode=true&characterEncoding=UTF-8;ncoding=UTF-8;String username=root;String username=root;St

31、ring password=root;String password=root;Connection conn=null;Connection conn=null;try try Class.forName(driverClassName);/Class.forName(driverClassName);/加载加载JDBCJDBC驱动程序驱动程序/通过数据库连接通过数据库连接conn=DriverManager.getConnection(url,username,password);conn=DriverManager.getConnection(url,username,password)

32、;/建立建立SQLSQL语句对象语句对象Statement statement=conn.createStatement();Statement statement=conn.createStatement();String sqlQuery=select String sqlQuery=select*from course;from course;ResultSet rs=statement.executeQuery(sqlQuery);/ResultSet rs=statement.executeQuery(sqlQuery);/执行查询执行查询while(rs.next()/while(

33、rs.next()/处理结果集处理结果集 System.out.print(rs.getString(1)+,);System.out.print(rs.getString(1)+,);System.out.print(rs.getString(2)+,);System.out.print(rs.getString(2)+,);System.out.println(rs.getInt(3);System.out.println(rs.getInt(3);/关闭数据库连接关闭数据库连接 statement.close();statement.close();conn.close();conn.c

34、lose();/捕获异常捕获异常 catch(SQLException sqlException)catch(SQLException sqlException)JOptionPane.showMessageDialog(null,sqlException.getMessage(),JOptionPane.showMessageDialog(null,sqlException.getMessage(),Database Error,JOptionPane.ERROR_MESSAGE);Database Error,JOptionPane.ERROR_MESSAGE);System.exit(1

35、);System.exit(1);/detect problems loading database driver /detect problems loading database driver catch(ClassNotFoundException classNotFound)catch(ClassNotFoundException classNotFound)JOptionPane.showMessageDialog(null,classNotFound.getMessage(),JOptionPane.showMessageDialog(null,classNotFound.getM

36、essage(),Driver Not Found,JOptionPane.ERROR_MESSAGE);Driver Not Found,JOptionPane.ERROR_MESSAGE);System.exit(1);System.exit(1);/end of main/end of main/end of class/end of classc1,c1,数据库数据库,4,4c2,c2,数学数学,2.5,2.5c3,c3,信息系统信息系统,4,4c4,c4,英语英语,3,314.3.2 14.3.2 创建创建MyEclipseMyEclipse的项目实例:的项目实例:完成完成JDBCJ

37、DBC访问访问MySQLMySQL数据库数据库studystudy在在MyEclipseMyEclipse环境下环境下,项目项目ch14ch14的创建过程:的创建过程:(1)在MyEclipse环境下,创建Java Project,起名为ch14。(2)为项目ch14的库文件libraries添加MySQL的JDBC驱动程序包:mysql-connector-java.jar;(3)在项目ch14中,创建类文件JdbcExample.java,输入正确的文件内容.(4)运行项目的Java应用程序。得到运行结果14.4 JDBC14.4 JDBC中的主要接口和类中的主要接口和类Java应用程序访

38、问数据库主要是通过JDBC API实现的,通过下面几个重要接口和类:n DriverManager类n 连接SQL Server、Oracle和Access数据库的程序举例n Connection接口n Statement接口n PreparedStatement接口n CallableStatement接口n ResultSet接口n ResultSetMetaData接口n DatabaseMetaData接口n Java的基本数据类型和SQL中支持的数据类型对应关系。14.4.1 DriverManager14.4.1 DriverManager类类nDriverManager类在包ja

39、va.sql,用于数据库驱动程序管理的类,在数据库和相应驱动程序之间建立连接,也处理诸如驱动程序登录时间限制及登录和跟踪消息的显示等事务。nDriverManager 类的主要成员方法:static Connection getConnection(String url);static Connection getConnection(String url,String user,String password):14.4.2 连接SQL Server、Oracle和Access数据库的程序举例 例例14-3 通过创建好的数据源名studyDSN,连接Microsoft SQL Server2

40、008或SQL Server 2008 express的数据库。n创建ODBC数据源:n用window控制面板中数据源“ODBC”管理器,创建一个连接到SQL Server的数据源,名称为studyDSN,连接的数据库是study,用户为sa,口令为sa。n创建好的数据源名studyDSN在下列程序中使用:14.4.2 14.4.2 连接连接SQL ServerSQL Server、OracleOracle和和AccessAccess数据库的程序举例数据库的程序举例例例14-3 实现代码如下:try String url=jdbc:odbc:studyDSN;String login=sa;S

41、tring password=sa;Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection conn=DriverManager.getConnection(url,login,password);catch(SQLException sqlException)e.printStackTrace();catch(ClassNotFoundException e)e.printStackTrace();14.4.2 连接连接SQL Server、Oracle和和Access数据库的程序举例数据库的程序举例 例例14-4 通过JDBC-ODBC

42、驱动程序连接SQL Server 2008 express版本。但不必事先建立ODBC的数据源名。省略了try-catch的主要代码如下:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);String url=jdbc:odbc:Driver=SQL Server;Server=machineName+SQLEXPRESS;Database=study;uid=sa;pwd=sa;Connection conn=DriverManager.getConnection(connURL);其中:machineName是机器名或IP地址14.4.2 连接连接SQ

43、L Server、Oracle和和Access数据库的程序举例数据库的程序举例 例例14-5 从网站下载SQL Server 2005或SQL Server 2008的sqljdbc_2.0驱动程序包sqljdbc4.jar,并将此包放在用户应用能访问的类路径或项目的库路径中。机器名为localhost(本地机器),端口号为1030,数据库为study.省略了try-catch的主要代码如下:String url=jdbc:sqlserver:/localhost:1030;DatabaseName=study;String user=sa,pwd=sa;Class.forName(com.m

44、icrosoft.sqlserver.jdbc.SQLServerDriver);Connection conn=DriverManager.getConnection(url,user,password);14.4.2 连接SQL Server、Oracle和Access数据库的程序举例例例14-6 连接连接Oracle数据库。数据库。n从网站下载Oracle驱动程序包classes12.zip,并将此包的路径放在classpath环境变量中或放在项目的库路径中。连接数据库ORCL,机器的ip为192.168.0.20,端口号为1521.n省略了try-catch的主要代码如下:String

45、 url=jdbc:oracle:thin:192.168.0.20:1521:ORCL;Class.forName(oracle.jdbc.driver.OracleDriver);Connection conn=DriverManager.getConnection(url,user,password);14.4.1 DriverManager14.4.1 DriverManager类类n例例14-7 通过通过JDBC-ODBC连接access的数据库study.mdb。n省略了try-catch的主要代码如下:Class.forName(sun.jdbc.odbc.JdbcOdbcDri

46、ver);String url=jdbc:odbc:driver=Microsoft Access Driver(*.mdb);DBQ=study.mdb;Connection conn=DriverManager.getConnection(url);14.4.3 Connection14.4.3 Connection接口接口nConnection接口是用来表示数据库连接的对象,对数据库的一切操作都是在这个连接的基础上进行的。Connection接口的成员常用方法:(1)Statement createStatement():创建一个statement对象;(2)PreparedStatem

47、ent prepareStatement(String sql)创建PreparedStatement类对象;(3)void close():立即释放连接对象的数据库和JDBC资源;14.4.4 Statement14.4.4 Statement接口接口n Statement接口用于在已经建立的连接的基础上向数据库发送SQL语句的对象。n3种类型的Statement对象:nStatement 对象用于执行不带参数的简单 SQL 语句;nPreparedStatement 对象用于执行带或不带 IN 参数的预编译 SQL 语句;nCallableStatement 对象用于执行对数据库已存储过程

48、的调用。14.4.4 Statement14.4.4 Statement接口接口n创建statement对象的方法如下:Statement stmt=conn.createStatement();nStatement接口定义中包括的常用方法:(1)ResultSet executeQuery(String sql)使用SELECT命令对数据库进行查询,返回结果集;(2)int executeUpdate(String sql):使用INSERT、DELETE、UPDATE对数据库进行新增、删除和修改记录操作;(3)boolean execute(String sql):执行SQL语句;(4)v

49、oid close():结束Statement类对象对数据库的联机;14.4.5 PreparedStatement14.4.5 PreparedStatement接口接口 nPreparedStatement接口和Statement类的不同之处在于PreparedStatement类对象会将传入的SQL命令事先编好等待使用,当有单一的SQL指令需多次执行时,用PreparedStatement会比Statement效率更高。n PreparedStatement接口的常用方法:(1)ResultSet executeQuery():使用SELECT命令对数据库进行查询;(2)int exec

50、uteUpdate():使用INSERTDELETEUPDATE对数据库进行新增、删除和修改操作;(3)void setXXX(int parameterIndex,XXX x):给PreparedStatement类对象的IN参数设定为XXX类型的值x。14.4.5 PreparedStatement14.4.5 PreparedStatement接口接口 nPreparedStatement对象的创建方法:PreparedStatement pstmt=con.prepareStatement(update tbl_User set reward=?where userId=?);例如:(

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《Java面向对象程序设计(第4版)》课件chapter14 JDBC技术和数据库开发应用.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|