




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十五章数据库访问辽宁机电职业技术学院信息工程系软件教研室迟勇回顾补充代码完成:服务器端程序:/*建立服务器端ServerSocket对象*/serverSocket=newServerSocket(2000);clientSocket=serverSocket.
();//接收来自客户端的Socketbr=newBufferedReader(newInputStreamReader(
.getInputStream()));System.out.println(“来自客户端的信息是:”+br.readLine());客户端程序:SocketclientSocket=newSocket("",
);//建立客户端的Socket/*建立接收服务器端信息的输入流对象br*/BufferedReaderbr=newBufferedReader(newInputStreamReader(clientSocket.getInputStream()));acceptclientSocket2000本章学习任务掌握JDBC操作数据库的语法使用JDBC-ODBC桥访问数据库使用本地协议驱动(Type4)方案访问SQLServer2000、2005、2008~2016数据库使用JDBC4.0操作ApacheDerby本章技能目标了解JDBC的作用与地位了解JDBC的分类和使用学习使用JDBC-ODBC桥访问数据库掌握访问SQLServer和其它类型的数据库的方法掌握JDBC4.0操作ApacheDerby数据库的方法预习检查(1)--预习新单词单词释义单词释义RDBMSSQLJDBCODBCnative预习检查(2)JDBC-ODBCBridge创建数据库连接串的形式JDBCType4驱动,操作MSSQLServer2008数据库的连接串形式数据库访问-内容目录JDBC概述JDBCAPI简介JDBC操作的基本步骤使用JDBC-ODBCBridge连接数据库示例连接SQLServer数据库示例使用JDBC4.0操作ApacheDerby连接其他类型的数据库15.1JDBC概述JDBC是一组可用于访问数据库的JavaAPI类库,它由100%Java纯代码编写的类和接口组成。从图15-1可以看出,JDBC的结构分为两层:JDBCAPI和JDBCDriverAPI,前者负责应用程序与JDBCDriverManager之间的通信,后者负责JDBCDriverManager与数据库驱动程序具体实现之间的通信。因为不同的DBMS的驱动(Driver)不同,为了保证网络上应用程序能够访问到不同类型的数据库,必须要将来自应用程序端的调用转换成能够为不同数据库所能识别的驱动,JDBC就是“翻译”。图15-1JDBC结构图
应用程序1应用程序2应用程序3JDBC应用程序接口(JDBCAPI)JDBC驱动管理器(JDBCDriverManager)数据库驱动(Driver)SQLServerMySQLOracle…………JDBC的作用如前所述,我们总结一下JDBC的作用有3点:1)与数据库建立连接2)向数据库发送SQL语句3)检索数据库返回的结果15.1.2谈谈ODBC
MicroSoft的ODBC(开放式数据库连接:OpenDatabaseConnectivity)接口技术参照SQL标准化组织对SQL接口的定义而制作ODBC有四个主要组成部分:应用程序接口,驱动器管理器,数据库驱动器和数据源。(参考图15-2ODBC结构图)其中数据源(DataSource)需要在程序运行前预先设置,它包含了数据库路径及其驱动两部分信息(配置方法请参考后面的示例)。图15-2ODBC结构图应用程序1应用程序2应用程序3ODBC应用程序接口(ODBCAPI)ODBC驱动管理器(ODBCDriverManager)ODBC驱动(ODBCDriver)SQLServerMySQLOracle…………15.1.3JDBC支持的两种编程模型二层模型(C/S)C/S模型被称为客户端(Client)/服务器(Server)模型,一般称C/S模型为胖客户端模型。三层模型(C/S或B/S)三层模型是指将数据处理过程分为三部分:第一层是客户端(用户界面层),提供用户与系统的友好访问;第二层是应用服务层(也叫中间层),专门负责业务逻辑的实现;第三是数据层,负责数据信息的存储、访问及其优化。C/S或B/S模型(浏览器Browser/服务器Server模型)都可以使用称为中间层的服务层,客户端的命令首先发送给一个所谓“中间层”的业务逻辑层,中间层再将SQL语句发给DMBS处理,执行的结果也同样再由中间层转交到客户端,如图15-3所示。图15-3三层模型结构图这样设置编程构架的结果是:客户端不再承受大量的逻辑工作而转由中间层处理,例如B/S模型的Browser是指在客户端只安装浏览器即可完成用户的访问,而所有负载均安置在服务器端,所以一般称B/S模型为瘦客户端模型三层模型最直接的好处是,将相同的业务逻辑(如访问数据库操作)组合为一个中间组件,利于组件的重用。当然三层模型也是分布式开发多层模型的基础。客户端DBMS中间层15.1.4JDBC驱动程序的类型
JDBC针对不同的应用场合,可以采用不同的方案来访问数据库,例如图15-1的“数据库Driver层”访问DBMS时可以分为两种情况:使用JDBC-ODBC桥或使用供应商提供的JDBC驱动,如图15-4-1所示。Java应用程序Java驱动管理器JDBC-ODBC桥ODBC供应商提供的JDBC驱动DBMS
(图15-4-1Java访问数据库的方案)JDBC驱动程序的类型其中后者又分为3种形式:本地部分Java驱动、网络全驱动、本地协议全驱动,如图15-4-2、如图15-4-3、如图15-4-4。
Java应用程序DB客户端运行库数据库中间件服务器Java应用程序数据库访问中间件数据库Java应用程序数据库图15-4-2本地部分Java驱动图15-4-2网络全驱动图15-4-2本地协议全驱动四种JDBC驱动(Driver)的区别:1)JDBC-ODBC桥(JDBC-ODBCBridge)和ODBCDriver这种方案通过JDBC-ODBC桥接器连接ODBC驱动器提供数据库连接,这要求每一台客户机都装有ODBC的驱动器。由于受安装有ODBC的操作系统的局限,这种方案只适用于Windows机。使用JDBC-ODBC桥的方式访问数据库的特点是:配置相对比较简单,但安全性和稳定性都比较低,基本不具备实现分布式能力,效率也是四种方案中最低的。
2)本地部分Java驱动(Native-APIpartly-JavaDriver)这种方案将JDBC指令转化成连接所使用的DBMS驱动。各客户机使用的数据库可能是Oracle,或是Sybase等,都需要在客户端上安装相应DBMS的驱动程序库。四种JDBC驱动(Driver)的区别:3)网络全驱动(JDBC-NetAll-JavaDriver)这种方案将JDBC指令转化成独立于DBMS的网络协议形式,再由服务器转化为特定DBMS的协议形式。有关DBMS的协议由各数据库厂商决定。这种方案可以联接到不同的数据库上,最为灵活,但安全性存在一定的问题,另外,作为中间件的驱动还在完善中。、4)本地协议全驱动(Native-protocolAll-JavaDriver)这种方案将JDBC指令转化成网络协议后不再转换,由DBMS直接使用。相当于客户机直接与服务器联系,对局域网适用,访问效率也最高。在这四种驱动中,后两类“纯Java”(All-Java)的驱动效率更高,也更具有通用性。总结JDBC的优、缺点总结JDBC的优点如下:
1)JDBCAPI与ODBC十分相似,利于理解;2)JDBC的出现使得编程人员从复杂语法调用中解脱,而致力于应用程序中的关键逻辑;标准统一的语法,为编程人员提供了与Java系统的其他部分保持一致的接口;3)100%纯Java代码制作的JDBC使得程序的可移植性大大加强;4)JDBCAPI是面向对象的类库,利于构建和维护大型应用工程。缺点如下:1)使用JDBC,访问数据的效率会受到一定程度的影响;2)因为要兼顾Java跨平台的因素,JDBC构建过程中需要考虑太多不同厂家的产品,这使得一些驱动标准在现阶段还不能得到完善。数据库访问-内容目录JDBC概述JDBCAPI简介JDBC操作的基本步骤使用JDBC-ODBCBridge连接数据库示例连接SQLServer数据库示例使用JDBC4.0操作ApacheDerby连接其他类型的数据库15.2JDBCAPI简介JDBCAPI定义了一些完成数据库操作的接口和类,通过这些API,JDBC实现了三个基本的功能:建立与数据的连接、执行SQL语句和处理执行结果。这些接口和类都在Java.sql包中。sql包中的常用接口和类2.sql包中的常用类Java.sql.DriverManager:驱动管理器类,负责JDBCDriver的装载、建立新的数据库连接;Java.sql.SQLException:负责处理访问数据库时的出错信息;Java.sql.SQLWarning:负责处理访问数据库时的警告信息。1.sql包中的常用接口java.sql.Driver:数据库驱动类,每个驱动程序类必须实现的接口;java.sql.Connection:与数据库的连接;Java.sql.Statement:管理在一个数据库连接上的静态SQL语句的执行。包括两个子接口:java.sql.PreparedStatement:可保存一个预编译的SQL语句,以提高重复执行的效率;java.sql.CallableStatement:执行已存储的可调用SQL过程;Java.sql.ResultSet:定义指定SQL语句执行的原始结果集,并提供对执行SQL语句后产生的结果集的访问;数据库访问-内容目录JDBC概述JDBCAPI简介JDBC操作的基本步骤使用JDBC-ODBCBridge连接数据库示例连接SQLServer数据库示例使用JDBC4.0操作ApacheDerby连接其他类型的数据库
15.3JDBC操作的基本步骤
驱动程序管理器(DriverManager)连接(Connection)驱动程序(Driver)语句(Statement)结果集(ResultSet)JDBC操作数据库的5个基本API为:
使用以上API就可以实现对数据库的操作,详细格式如下:JDBC操作的基本步骤1)注册驱动DriverManager类是JDBC的管理层,作用于用户界面程序和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。DriverManager.registerDriver(driver);例如JDBC-ODBCBridge驱动写成:Stringdriver=“sun.jdbc.odbc.JdbcOdbcDriver”;注册JDBC驱动程序时,DriverManager将从驱动程序列表中读取指定的驱动并实例化它们。若要显示地注册并加载某种驱动,可以使用Class.forName(),此步骤可以省略。JDBC操作的基本步骤--22)注册并加载驱动Class类的forName()方法用于返回指定参数类的对象,这里用于加载并实例化驱动。Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);也可写成:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”).newInstance();使用后一种方法加载驱动时,往往是因为程序中需要使用这个Driver的实例,如果不需要这个实例,使用前一种方法就可以了,因为在当前驱动加载时,已经实例化完成。JDBC操作的基本步骤对于从网络下载的驱动类的字符串书写格式就要视下载包的路径决定,例如不同数据库的Driver串(以“本地协议全驱动”为例)格式如下://SQLServerclass.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//MySQLclass.forName("org.gjt.mm.mysql.Driver");根据下载包结构不同或为class.forName("com.mysql.jdbc.Driver");...与步骤1)的DriverManager.registerDriver()方法不同的是,Class.forName()方法只加载并实例化一种指定的驱动。JDBC操作的基本步骤--33)
建立连接
Connectionconn=DriverManager.getConnection(URL,[login_name],[login_password]);试图建立到给定数据库URL的连接。它是接口,需由DriverManager类调用自己静态的getConnection()方法得到。建立连接的URL格式建立连接的URL格式为:
jdbc:<subprotocal>:<subname>对于odbc子协议,其格式为:jdbc:odbc:<DataSource-name>例如:Stringurl=“jdbc:odbc:mydatasource”;//其中mydatasource为数据源名而对于“全驱动”,其URL格式有所不同,例如,SQLServer的URL格式为:jdbc:microsoft:sqlserver://主机:端口号;DatabaseName=数据库名如下例:Connectionconn
=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stuDB","sa","123");其中1433为SQLServer的端口号,stuDB为数据库名,"sa"和"123"为SQLServer登录名和密码。JDBC操作的基本步骤--44)构造语句集Statement对象负责将SQL语句发送到DBMS。它是接口,其对象需由Connection对象调用createStatement()方法得到。Statementstmt=conn.createStatement( [intresultSetType], [intresultSetConcurrency], [intresultSetHoldability]);其中,参数resultSetType为键集类型,resultSetConcurrency为键集并发性,resultSetHoldability为键集可保持能力.如:表15-1createStatement()方法参数汇总JDBC操作的基本步骤Statement有两个子接口Preparedstatement和Callablestatement,如图15-5。StatementPreparedStatementCallableStatement图15-5Statement类及其子类createStatement()方法参数汇总createStatement()方法参数汇总resultSetType为以下常量之一ResultSet.TYPE_FORWARD_ONLY结果集记录指针只能向下移动ResultSet.TYPE_SCROLL_INSENSITIVE结果集记录指针可以上下移动,但数据库变化不会改变当前结果集ResultSet.TYPE_SCROLL_SENSITIVE结果集记录指针可以上下移动,但数据库变化后,当前结果集发生同步改变resultSetConcurrency为以下常量之一ResultSet.CONCUR_READ_ONLY结果集只读,不能更新数据库中的数据ResultSet.CONCUR_UPDATABLE结果集可更新,会影响到数据库中的数据resultSetHoldability为以下常量之一ResultSet.HOLD_CURSORS_OVER_COMMIT表示修改提交时,不关闭ResultSet的游标ResultSet.CLOSE_CURSORS_AT_COMMIT表示修改提交时,关闭ResultSet的游标JDBC操作的基本步骤PreparedstatementPreparedstatement实例中包含了一个已经预编译过的SQL语句,因此,要多次执行一个SQL语句,使用PreparedStatement。SQL语句在创建时提供输入参数,使用pstmt.setXXX()方法来设置参数,用executeUpdate()方法执行SQL语句。例如下面的程序段:
PreparedStatementpStmt=conn.preparedStatement("insertintoemp(empno,ename)values(?,?)"); pStmt.setInt(1,12);//给第一个位置的参数设值为12 pStmt.setString(2,"tom");//给第二个位置的参数设值为"tom" pStmt.executeUpdate();//执行SQL语句JDBC操作的基本步骤CallablestatementCallableStatement用于执行SQL存储过程,可以利用存储过程设置输入或输出参数。例如,有存储过程showEmployees(in,out),其中in和out为参数。
CallableStatementcStmt=conn.prepareCall("{callshowEmployees(?,?)}");JDBC操作的基本步骤--55.
提交SQL语句常用SQL语句介绍:SQL语句大致分为3种:DDL(数据定义语言)如CREATE,ALTER,DROP,DECLAREDML(数据操纵语言)如SELECT,DELETE,UPDATE,INSERTDCL(数据控制语言)如GRANT,REVOKE,COMMIT,ROLLBACK执行提交SQL语句的方法:Statement及其子接口支持下列3种方法将SQL语句提交到DBMSexecuteQuery()方法:主要用于SELECT语句,返回值是结果集,例如:ResultSetrs=stmt.executeQuery("select*fromcustmer");executeUpdate()方法:用来创建和更新表(如:insert,delete,update,create,drop等),返回值是整型值,用以表示被影响的行数,例如:intnum=stmt.executeUpdate("createtableCustmer(CustIdnumber(3),CustNamevarchar2(15)");execute()方法:返回布尔值,用于执行任何SQL语句,适用于一次性返回多个结果集的情况,例如:booleanb=stmt.execute("……更新一个字段值,它在多个表中有关联关系……");JDBC操作的基本步骤--66.关闭ResultSet,Statement,Connection对象
rs.close();
stmt.close();//同时关闭了rs
conn.close();需要注意,关闭Statement对象的同时也会关闭其当前的ResultSet对象,如果有的话。数据库访问-内容目录JDBC概述JDBCAPI简介JDBC操作的基本步骤使用JDBC-ODBCBridge连接数据库示例连接SQLServer数据库示例使用JDBC4.0操作ApacheDerby连接其他类型的数据库
15.4使用JDBC-ODBCBridge连接数据库示例
下面,我们参照15.3节介绍的步骤,使用最简单的JDBC-ODBCBridge方式连接Access数据库。假定有Access库文件为student.mdb,库中有表stuTable,其设计视图如图15-6所示:图15-6student.mdb库的设计视图图15-7student.mdb库的数据视图数据视图如图15-7所示:使用JDBC-ODBCBridge连接数据库示例1.首先设置ODBC数据源打开“控制面板”,选择其中的“管理工具”,再打开“数据源(ODBC)”,如图15-8所示。图15-8使用JDBC-ODBCBridge连接数据库示例选择“系统DSN”选项卡,单击“添加”按钮,在打开的选择框中选择“MicrosoftAccessDriver(*.mdb)”驱动如图15-9所示。在随后的对话框中(图15-10)的“数据源名”文本框中输入“stuDataSource”做为数据源名称,然后单击“选择”按钮,进入下一步。图15-9使用JDBC-ODBCBridge连接数据库示例图15-10在打开的“选择数据库”对话框中选中student.mdb数据库即可,如图15-11。使用JDBC-ODBCBridge连接数据库示例图15-12单击确定完成ODBC数据源的配置,如图15-12所示。图15-11编写源代码importjava.sql.*;//导入sql包publicclassTestJDBC{ publicstaticvoidmain(Stringargs[]) { intid,score; Stringname; Connectioncon;//定义连接对象
Statementstmt;//定义语句集对象
ResultSetrs;//定义键集对象
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}//加载驱动
catch(ClassNotFoundExceptione){}try{ con=DriverManager.getConnection("jdbc:odbc:stuDataSource");//创建数据库连接
stmt=con.createStatement();//创建语句集
rs=stmt.executeQuery("select*fromstuTablewherescorelike'%"+args[0]+"%'");//以控制台参数为查询条件执行查询并返回键集
while(rs.next())//判断键集是否有下一条记录
{ id=rs.getInt("id");//获取当前记录的第一个值(即学号)
name=rs.getString(2); score=rs.getInt("score"); System.out.print("学生学号为:"+id); System.out.print("学生姓名为:"+name); System.out.print("学生成绩为:"+score); System.out.println(""); } }catch(SQLExceptione){}}}【运行结果】在控制台中输入如下命令运行:控制台提示符>javaTestJDBC9将输出所有分数中带字符‘9’的记录,如图所示。数据库访问-内容目录JDBC概述JDBCAPI简介JDBC操作的基本步骤使用JDBC-ODBCBridge连接数据库示例连接SQLServer数据库示例使用JDBC4.0操作ApacheDerby连接其他类型的数据库15.5连接SQLServer数据库示例1.安装SQLServer数据库注意事项:本小节我们将学习一个使用Type4驱动类型(Java本地协议全驱动)来操作数据库的例子。因为默认时JDBC不支持SQLServer数据库的“Windows认证”方式,所以SQLServer的安装过程中一定要选择“混合身份验证安装”。15.5连接SQLServer数据库示例2.数据库驱动的下载:读者可以从网络上microsoft公司的下载页面中找到SQLServer本地协议驱动(Type4),或从搜索引擎中得到驱动的下载链接。例如:SQLServer2000驱动包括下面三个文件:msutil.jar、mssqlserver.jar、msbase.jar。JDBC4.0驱动文件为:sqljdbc4.jar。参考微软官方下载网址:/downloads/,下载最新的驱动。3.配置:将这三个文件复制到指定目录(假设为D:\JDBCDriver)并配置到classpath环境变量中,格式如下:.;D:\JDBCDriver\msutil.jar;D:\JDBCDriver\mssqlserver.jar;D:\JDBCDriver\msbase.jar4.两种连接串形式Connectionconn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stuDB","sa","123");或:Connectionconn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stuDB?user=sa&password=123");其中sa为数据库登录用户名,123为登录数据库的密码。15.5连接SQLServer数据库示例5.程序实例假设有SQLServer数据库stuDB,库中有学生数据表stuTable(字段同图15-7)。现在学校要为指定的学生更改成绩,使用的SQL语句为:UPDATEstuTableSETscore=score+分数值WHEREid<学号范围andscore<分数;考虑到需要更改成绩的学生可能有多个,因此使用PreparedStatement类完成,它可以预编译SQL语句,有利于处理速度的提高。代码如下:15.5连接SQLServer数据库示例importjava.sql.*;publicclassUpdateStuDB{publicstaticvoidmain(String[]args){ Stringurl,user,password; url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=StuDB“; user="sa“;password="123"; try{/*加载数据库驱动*/ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundExceptionex){ ex.printStackTrace();
}try{ Connectioncon=DriverManager.getConnection(url,user,password); /*SQL语句中的?号为待输入参数,将由setXXX()方法赋值*/StringstrSQL="UPDATEstuTableSETscore=score+5FROMstuTableWHEREid<?andscore<?"; /*创建PreparedStatement语句集对象*/PreparedStatementpstmt=con.prepareStatement(strSQL); pstmt.setInt(1,50);//给SQL语句的第一个参数赋值
pstmt.setInt(2,90);//给SQL语句的第二个参数赋值
intflag=pstmt.executeUpdate();//提交更新操作
if(flag!=0){ System.out.println("数据库更新成功!"); } }catch(SQLExceptionex){}}}【运行结果】数据库更新成功!查看数据库发现,所有分数小于90分的学生的成绩增加了5分。数据库访问-内容目录JDBC概述JDBCAPI简介JDBC操作的基本步骤使用JDBC-ODBCBridge连接数据库示例连接SQLServer数据库示例使用JDBC4.0操作ApacheDerby连接其他类型的数据库15.6使用JDBC4.0操作ApacheDerby什么是ApacheDerby?DK6新增了一个名为JavaDB的安装项目,默认安装在Sun\JavaDB目录下,它就是ApacheDerby内嵌式数据库。JavaDB是JavaSE6的新成员,是一个纯Java实现、开源的数据库管理系统(DBMS),源于Apache软件基金会(ASF)名下的项目Derby。它的完整类库只有4MB大小。控制台命令行完成Derby数据库操作假定Derby数据库安装在D:\Java\Sun\JavaDB目录下,其lib目录内容如下,如图15-20图15-20控制台命令行完成Derby数据库操作在内嵌模式下创建库及表的步骤如下:首先,在控制台中进入lib目录;执行:java-jarderbyrun.jarij,就进入数据库内嵌运行模式;然后在ij>下输入connect'jdbc:derby:StuDB;create=true';创建数据表,名称为stuTable,有三个字段:createtablestuTable(idint,namevarchar(20),scoreint);插入数据:insertintostuTablevalues(1,'Tom',99);insertintostuTablevalues(2,'Marry',100);查询数据:select*fromstuTable;退出用内嵌模式用exit;图15-20查询Derby数据库操作的实例步骤如下:将上面创建的StuDB移动到TestDerby.java程序代码所在的目录中;将derby.jar类库配置到classpath环境变量中编译后,运行。//Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();Connectionconn=DriverManager.getConnection("jdbc:derby:stuDB;user=app;password=app“);Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery(“SELECTid,name,scoreFROMstuTable”);while(rs.next()){...}运行结果使用JDBC4.0操作ApacheDerby数据库:创建与查询//Class.forName(“org.apache.derby.jdbc.EmbeddedDriver”).newInstance();conn=DriverManager.getConnection("jdbc:derby:stuDB;create=true;user=app;password=app“);conn.setAutoCommit(false);Statementstmt=conn.createStatement();stmt.execute("createtablestuTable(idint,namevarchar(20),scoreint)“);stmt.execute(“insertintostuTablevalues(1,‘Tom’,99)”);stmt.execute(“insertintostuTablevalues(2,‘Marry’,100)”);ResultSetrs=stmt.executeQuery(“SELECTid,name,scoreFROMstuTable”);System.out.println(“id\tname\tscore”);while(rs.next()){StringBuilderbuilder=newStringBuilder(rs.getInt(1)); builder.append(rs.getString(2));... System.out.println(builder.toString());}stmt.execute(“droptableStuTable”);rs.close();stmt.close();mit();conn.close();Derby的网络模式模拟一个在本地机(localhost)运行网络模式的实例步骤如下:1)将derby.jar、derbynet.jar、derbytools.jar、derbyclient.jar类库配置到classpath环境变量中,或者从控制台直接进入Java
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网店过户及后续运营管理培训与市场拓展服务合同
- 2025餐馆物业租赁合同范本
- 2025年会计实务高效学习试题及答案
- 实战模拟的2025年市政工程试题及答案
- 商铺合作转让协议书
- 厂房合同转租协议书
- 实务考试压力管理的试题及答案
- 单包预埋承诺协议书
- 北京指标出租协议书
- 印刷油墨回收协议书
- 下肢动脉硬化闭塞症的护理查房
- 前置胎盘健康宣教
- 医院标识工作总结共4篇
- NSCACSCS美国国家体能协会体能教练认证指南
- 集装箱装柜数智能计算表
- 尿流动力学检查
- 答案-国开电大本科《当代中国政治制度》在线形考(形考任务一)试题
- 绿植租摆服务投标方案(技术方案)
- 中学英语Unit1 thinking as a hobby课件
- 《意大利美食文化》课件
- 绿色中国智慧树知到课后章节答案2023年下华东理工大学
评论
0/150
提交评论