版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第15章 JDBC访问数据库技术JDBCJDBC技术与技术与ODBCODBCSQLSQL语句简介语句简介JDBCJDBC中的主要对象和接口中的主要对象和接口MYSQLMYSQL数据库数据库JDBC编程编程课程内容二二三三四四五五一一批处理批处理六六事务处理事务处理七七 一、一、JDBCJDBC技术与技术与ODBC ODBC 数据库(数据库(DataBase,DB)是相关信息的集)是相关信息的集合,而数据库管理系统合,而数据库管理系统(DataBase Manage System,DBMS)是提供给用户的一种机制,是提供给用户的一种机制,用于对数据库中的数据进行检索、添加和修用于对数据库中的数据
2、进行检索、添加和修改。改。常用的常用的DBMS:SQL Server、Oracle、Sysbase、DB2、Informix.什么是数据库什么是数据库 一、一、JDBCJDBC技术与技术与ODBC ODBC 不能要求一般的客户也去掌握数据库管理系统本身的知不能要求一般的客户也去掌握数据库管理系统本身的知识识为客户端开发相应的程序为客户端开发相应的程序 需要在客户端有友好介面的应用程序与计算机交互需要在客户端有友好介面的应用程序与计算机交互那么是否在客户机上安装好数据库管理系统就那么是否在客户机上安装好数据库管理系统就完事了呢?答案是否定的。完事了呢?答案是否定的。 不同数据库格式使用不同的语法
3、,没有相当的经验不同数据库格式使用不同的语法,没有相当的经验是很难掌握各种数据库操作的是很难掌握各种数据库操作的 一、一、JDBCJDBC技术与技术与ODBC ODBC ODBC(Open DataBase Connectivity)称为开放数据库连接,是微软公司开发的一称为开放数据库连接,是微软公司开发的一个标准的数据库访问方法。个标准的数据库访问方法。ODBC是通过在应用程序和是通过在应用程序和DBMS之间插入一个之间插入一个驱动程序来解决不同类型数据库的访问问题的。驱动程序来解决不同类型数据库的访问问题的。驱动程序这个中间层可以将来自应用程序的查询驱动程序这个中间层可以将来自应用程序的查
4、询翻译成翻译成DBMS能理解的命令。能理解的命令。ODBC技术简介技术简介因此因此我们需要为客户端开发相应的程序我们需要为客户端开发相应的程序 一、一、JDBCJDBC技术与技术与ODBC ODBC ODBC技术简介技术简介应用程序ODBC APIODBC驱动管理数据库驱动ODBC模型图AccssFoxproOracle 一、一、JDBCJDBC技术与技术与ODBC ODBC ODBC技术简介技术简介ODBCODBC是非跨平台的,不同的操作系统需是非跨平台的,不同的操作系统需要安装不同版本的要安装不同版本的ODBC,使应用程序,使应用程序的可移植性差,为了解决可移植性问题,的可移植性差,为了解
5、决可移植性问题,在在Java中就需要有中就需要有跨平台的,即与平台跨平台的,即与平台无关的无关的数据库访问接口,这就是数据库访问接口,这就是JDBC(Java DataBase Connectivity)。)。 一、一、JDBCJDBC技术与技术与ODBC ODBC 在在Java中有一个程序套件中有一个程序套件Java.sql,用于提,用于提供执行数据库结构化查询语言的供执行数据库结构化查询语言的SQL语句,语句,它为数据库应用程序开发者提供了一个标准它为数据库应用程序开发者提供了一个标准的应用程序接口。的应用程序接口。Oracle公司的公司的JDK程序套件(程序套件(Java Develop
6、ment Kit)是服务端程序设计(是服务端程序设计(servlet)的一组的一组Java扩展程序套件,扩展程序套件,SQL搭配搭配JDK可以可以从客户端通过网页处理远程服务器端上的数据库。从客户端通过网页处理远程服务器端上的数据库。JDBC技术简介技术简介程序可以跨平台,而且也可以连接不同的数据库程序可以跨平台,而且也可以连接不同的数据库系统,有很好的通用性,系统,有很好的通用性, 一、一、JDBCJDBC技术与技术与ODBC ODBC JDBC技术简介技术简介JAVA应用程序JDBCJDBCODBC桥 数据库专用驱动 数据库协议驱动ODBC驱动程序中间件DB协议解释器某数据库系统某数据库系
7、统某数据库系统1 JDBCODBC桥桥2 JDBC与某个数据库相连与某个数据库相连3使使JDBC与一种通用的数据库协议驱动程序相连与一种通用的数据库协议驱动程序相连JDBCJDBC技术简介技术简介 利用利用JDBCJDBC访问数据库有三种不同的途径访问数据库有三种不同的途径要求使用它的客户端机器上也必须安装要求使用它的客户端机器上也必须安装OBDC APIOBDC API,丧失了丧失了JavaJava的跨平台性。的跨平台性。效率高,限制了前端应用与其他数据库系统的效率高,限制了前端应用与其他数据库系统的配合使用。配合使用。利用中间件和协议解释器将这个协议驱动利用中间件和协议解释器将这个协议驱动
8、程序与某种数据库系统相连。程序与某种数据库系统相连。 一、一、JDBCJDBC技术与技术与ODBC ODBC 一、一、JDBCJDBC技术与技术与ODBC ODBC JDBC技术简介技术简介驱动程序管理器驱动程序连接预处理语句结果集语句语句驱动层 应用层应用层每个每个JDBCJDBC程序至少要有一个程序至少要有一个JDBCJDBC驱动程序,为了管驱动程序,为了管理这些驱动程序,理这些驱动程序,JDBCJDBC的的APIAPI中专门设计了驱动程序管中专门设计了驱动程序管理工具,将理工具,将JavaJava程序和相应的驱动程序连接起来程序和相应的驱动程序连接起来什么是SQL 二、二、SQLSQL语
9、句简介语句简介 SQL(Structured Query Language)是一个)是一个标准的结构化的数据库查询语言,目的是为了在标准的结构化的数据库查询语言,目的是为了在不同数据库之间构建一个统一的操作平台。不同数据库之间构建一个统一的操作平台。由于由于SQL具有结构化、简单易学且功能全面的特具有结构化、简单易学且功能全面的特点,点,1987年被年被ISO制定为标准。制定为标准。此后,几乎所有的关系数据库都支持此后,几乎所有的关系数据库都支持SQL。因此,。因此,学习、使用学习、使用JDBC编写编写Java程序,必须了解常用程序,必须了解常用的的SQL语句。语句。表中的列被称之为字段 特定
10、单元格中的值被称为一个属性值表中的一行被称为一个记录学生注册登记表什么是SQL 二、二、SQLSQL语句简介语句简介 关系数据库是由多个表组成的,关系数据库是由多个表组成的,各表之间体现相关的关联各表之间体现相关的关联关系,关系,表是我们主要操作的表是我们主要操作的对象对象。SQL语句简要介绍 二、二、SQLSQL语句简介语句简介 建立数据表建立数据表 CREATE TABLE 或或ALTER TABLE 语句语句 CREATE TABLE student_login( 学号学号 CHAR(11) NOT NULL PRIMARY KEY, 姓名姓名 CHAR(10), 出生年月出生年月CHA
11、R(10), 性别性别 CHAR(2), 入学成绩入学成绩 INT, 备注备注 CHAR(254); 学号是索引主键,创建记录时不能为空。学号是索引主键,创建记录时不能为空。SQL语句简要介绍 二、二、SQLSQL语句简介语句简介 插入记录插入记录INSERT INTOVALUES 语句语句 INSERT INTO student_login VALUES (”20150232101”,”张三张三”,”1999.1.2”,”男男”, 615,”); 插入了所有项,值的插入顺序必须是字段的顺序。插入了所有项,值的插入顺序必须是字段的顺序。 INSERT INTO student_login (学
12、号学号,姓名姓名,性别性别,入学入学成绩成绩) VALUES(”20150232102”,”李思李思”, ”女女”,623); 插入了指定的四项,要求指定的字段和插入的值一一插入了指定的四项,要求指定的字段和插入的值一一对应。对应。 SQL语句简要介绍 二、二、SQLSQL语句简介语句简介 检索记录信息检索记录信息SELECTFROMWHERE语句语句 SELECT * FROM student_login; 列出表中所有学生的所有字段的值。列出表中所有学生的所有字段的值。 SELECT 学号学号,姓名姓名,入学成绩入学成绩 FROM student_login; 列出表中所有学生的学号、姓名
13、及入学成绩。列出表中所有学生的学号、姓名及入学成绩。 SELECT * FROM student_login WHERE入学成绩入学成绩630; 列出表中满足入学成绩列出表中满足入学成绩630条件的所有学生的信息。条件的所有学生的信息。SQL语句简要介绍 二、二、SQLSQL语句简介语句简介 修改记录的值修改记录的值UPDATESETWHERE语句语句 UPDATE student_login SET 出生年月出生年月=”1999.1.23” WHERE 学号学号=”20150232102”; 将学号为将学号为20150232102学生的出生年月修改为学生的出生年月修改为1999.1.23。
14、UPDATE student_login SET 性别性别=”男男”,入学成绩入学成绩=625 WHERE 学号学号=”20150232105”; 将学号为将学号为20150232105学生的性别修改为男,入学成学生的性别修改为男,入学成绩修改为绩修改为625。SQL语句简要介绍 二、二、SQLSQL语句简介语句简介 删除记录删除记录DELETE FROMWHERE语句语句 DELETE FROM student_login WHERE 学号学号=”20150232108”; 删除表中学号为删除表中学号为20150232108的学生的纪录。的学生的纪录。 DELETE FROM student
15、_login WHERE 入学成绩入学成绩”按钮进入下一步。按钮进入下一步。出现选择配置方式画面,出现选择配置方式画面,“Detailed Configuration(手动精确配置)(手动精确配置)”、“Standard Configuration(标准配置)(标准配置)”,我们选择,我们选择“Detailed Configuration”,方便熟悉配置过程。,方便熟悉配置过程。2.进入如图所示界面,在进入如图所示界面,在MySQL5.1中,默认目录为中,默认目录为C:Program FilesMySQLMySQL Server 5.1。确认后单击。确认后单击“Install”按钮开始安装。安
16、装完成后按钮开始安装。安装完成后MySQL服务器的配置 四、四、MySQLMySQL数据库数据库MySQLMySQL安装完成后,要对安装完成后,要对MySQLMySQL服务器进行配置,其配置步骤如下:服务器进行配置,其配置步骤如下:1.安装完毕后就选择安装完毕后就选择“Config the MySQL server now”复选框进入配置向导。选择复选框进入配置向导。选择“Detailed Configuration”的配置类型。的配置类型。2.2.单击单击“Next”“Next”按钮进行服务器类型选择,这里选择按钮进行服务器类型选择,这里选择“Developer Machine”“Devel
17、oper Machine”。3.3.单击单击“Next”“Next”按钮进入数据库使用情况对话框,这里选择按钮进入数据库使用情况对话框,这里选择“Multifunctional “Multifunctional Database”Database”。4 4. .进入进入InnoDBInnoDB表空间对话框,这里可以修改表空间对话框,这里可以修改InnoDBInnoDB表空间文件的位置,如图所示。表空间文件的位置,如图所示。默认位置是默认位置是MySQLMySQL服务器数据目录,这里不做修改,直接下一步。服务器数据目录,这里不做修改,直接下一步。MySQL服务器的配置 四、四、MySQLMySQ
18、L数据库数据库MySQLMySQL安装完成后,要对安装完成后,要对MySQLMySQL服务器进行配置,其配置步骤如下:服务器进行配置,其配置步骤如下:5.接下来进入并发连接选择对话框,这里选择接下来进入并发连接选择对话框,这里选择“Decision Support (DSS)/OLAP”。6.6.进入联网选项对话框,如图左下所示。默认情况是启用进入联网选项对话框,如图左下所示。默认情况是启用TCP/IPTCP/IP网络,默认端口为网络,默认端口为33063306,这里不做修改,直接下一步。,这里不做修改,直接下一步。7.7.进入字符集选择对话框,前面的选项一直是按默认设置进行的,这里要做一些修
19、改。进入字符集选择对话框,前面的选项一直是按默认设置进行的,这里要做一些修改。选中选中“Manual Selected Default Character Set/Collation”“Manual Selected Default Character Set/Collation”选项,在选项,在“Character “Character Set”Set”选框中将选框中将latin1latin1修改为修改为gbkgbk,如右下图所示。,如右下图所示。MySQL服务器的配置 四、四、MySQLMySQL数据库数据库MySQLMySQL安装完成后,要对安装完成后,要对MySQLMySQL服务器进行
20、配置,其配置步骤如下:服务器进行配置,其配置步骤如下:8.下一步进入服务选项对话框,服务名为下一步进入服务选项对话框,服务名为MySQL,这里不做修改。,这里不做修改。9.9.下一步是安全选项对话框,如图所示,在密码输入框中输入用户和密码(这里用下一步是安全选项对话框,如图所示,在密码输入框中输入用户和密码(这里用户名户名rootroot,密码,密码rootroot)。)。10.10.设置完毕后,随后一步是提交配置,单击设置完毕后,随后一步是提交配置,单击“Execute”“Execute”按钮即可完成。按钮即可完成。MySQL服务器的配置 四、四、MySQLMySQL数据库数据库至此至此My
21、SQLMySQL服务器已配置完成。服务器已配置完成。MySQL安装和配置完后,打开开始程序安装和配置完后,打开开始程序MySQLMySQL Server 5.1MySQL Commend Line Client就进入到就进入到MySQL客户端,在客户端窗口输入密码,就以客户端,在客户端窗口输入密码,就以root用户身份登陆到用户身份登陆到MySQL服务器,在窗口中出现命令行,如图,在命令行中输入服务器,在窗口中出现命令行,如图,在命令行中输入SQL语句就可以操作语句就可以操作MySQL数据库。数据库。MySQLMySQL有一个有一个datadata目录,用于存放数据库文件,其默认的路径为:目录
22、,用于存放数据库文件,其默认的路径为:C:Program FilesMySQLMySQL Server 5.C:Program FilesMySQLMySQL Server 5.1 1datadata。在。在datadata目录中目录中MySQLMySQL为每为每一个数据库建立一个文件夹,所有的表文件存放在相应的数据库文件夹中。一个数据库建立一个文件夹,所有的表文件存放在相应的数据库文件夹中。MySQL的基本命令 四、四、MySQLMySQL数据库数据库使用使用MySQLMySQL非常简单,这里介绍非常简单,这里介绍MySQLMySQL的常用命令:的常用命令:MySQL的基本命令 四、四、My
23、SQLMySQL数据库数据库使用使用MySQLMySQL非常简单,这里介绍非常简单,这里介绍MySQLMySQL的常用命令:的常用命令:MySQL的基本命令 四、四、MySQLMySQL数据库数据库登陆登陆MySQLMySQL服务器后,输入如图所示的命令,即可完成数据库的创建,表服务器后,输入如图所示的命令,即可完成数据库的创建,表的创建,插入记录和查询记录。的创建,插入记录和查询记录。JDBC编程 五、五、JDBCJDBC编程编程在开始编写一个使用后台数据库为在开始编写一个使用后台数据库为MySQLMySQL的的JDBCJDBC程序之前,需要在当前工程序之前,需要在当前工程中引入程中引入My
24、SQLMySQL的的JDBCJDBC驱动程序。驱动程序。方法是:右击工程方法是:右击工程“MyProject_14”MyProject_14”,选择,选择“Build Path”Build Path” “Add External “Add External Archives”Archives”,出现一个文件选择对话框,如图所示,找到磁盘上的,出现一个文件选择对话框,如图所示,找到磁盘上的MySQLMySQL的的JDBCJDBC驱驱动程序,选中它,单击动程序,选中它,单击“打开打开”按钮,按钮,MySQLMySQL的的JDBCJDBC驱动程序就被加入到当前的工驱动程序就被加入到当前的工程中。程中
25、。import java.sql.Connection;import java.sql.Connection;import java.sql.DriverManager;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.SQLException;import java.sql.Statement;import java.sql.Statement;public class TestJDBC p
26、ublic class TestJDBC public static void main(String args) public static void main(String args) ResultSet rs = null;ResultSet rs = null;Statement stmt = null;Statement stmt = null;Connection conn = null;Connection conn = null;try try / /* * 加载并注册加载并注册MySQLMySQL的的JDBCJDBC驱动驱动 * */ /Class.forName(com.m
27、ysql.jdbc.Driver);Class.forName(com.mysql.jdbc.Driver);/ /* * 建立到建立到MySQLMySQL数据库的连接数据库的连接 * */ /conn = DriverManager.getConnection(conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/xsxx, root, root);jdbc:mysql:/localhost:3306/xsxx, root, root);/ /* * 访问数据库,执行访问数据库,执行SQLSQL语句语句 * */ /stm
28、t = conn.createStatement();stmt = conn.createStatement();rs = stmt.executeQuery(select rs = stmt.executeQuery(select * * from xs); from xs);while (rs.next() while (rs.next() System.out.print(rs.getInt(id);System.out.print(rs.getInt(id);System.out.print(rs.getString(name);System.out.print(rs.getStrin
29、g(name);演示示例:演示示例:使用已创建的使用已创建的xsxx数据库和其中的数据库和其中的xs表表 五、五、JDBCJDBC编程编程JDBC编程示例System.out.println(rs.getString(major);System.out.println(rs.getString(major); catch (ClassNotFoundException e) catch (ClassNotFoundException e) e.printStackTrace();e.printStackTrace(); catch (SQLException e) catch (SQLExce
30、ption e) e.printStackTrace();e.printStackTrace(); finally finally / /* * 释放数据库服务器的资源释放数据库服务器的资源 * */ /try if (rs != null) try if (rs != null) rs.close(); / rs.close(); / 关闭关闭ResultSetResultSet对象对象rs = null;rs = null; else else if (stmt != null) if (stmt != null) stmt.close(); / stmt.close(); / 关闭关闭S
31、tatementStatement对象对象stmt = null;stmt = null; else else if (conn != null) if (conn != null) conn.close(); / conn.close(); / 关闭关闭ConnectionConnection对象对象conn = null;conn = null; catch (SQLException e) catch (SQLException e) e.printStackTrace();e.printStackTrace(); 演示示例:演示示例:使用已创建的使用已创建的xsxx数据库和其中的数据库
32、和其中的xs表表(续)(续)JDBC编程示例 五、五、JDBCJDBC编程编程因为程序中加载驱动、获取连接、创建因为程序中加载驱动、获取连接、创建StatementStatement类、释放数据库服务器资源的部分基本与类、释放数据库服务器资源的部分基本与上例相同且代码过长,这里只给出出核心的代码:上例相同且代码过长,这里只给出出核心的代码:/ /* * 添加记录添加记录 * */ /System.out.println(System.out.println(添加记录后添加记录后:);:);String sql1 = insert into xs values (150002, String s
33、ql1 = insert into xs values (150002, 张艳张艳, , 水利工程水利工程););stmt.executeUpdate(sql1);stmt.executeUpdate(sql1);rs = stmt.executeQuery(select rs = stmt.executeQuery(select * * from xs); from xs);while (rs.next() while (rs.next() System.out.print(rs.getInt(id);System.out.print(rs.getInt(id);System.out.pri
34、nt(rs.getString(name);System.out.print(rs.getString(name);System.out.println(rs.getString(major);System.out.println(rs.getString(major); / /* * 修改记录修改记录 * */ /System.out.println(System.out.println(修改记录后修改记录后:);:);String sql2 = update xs set name = String sql2 = update xs set name = 王涛王涛 where id = 1
35、50002; where id = 150002;stmt.executeUpdate(sql2);stmt.executeUpdate(sql2);rs = stmt.executeQuery(select rs = stmt.executeQuery(select * * from xs); from xs);while (rs.next() while (rs.next() System.out.print(rs.getInt(id);System.out.print(rs.getInt(id);System.out.print(rs.getString(name);System.out
36、.print(rs.getString(name);System.out.println(rs.getString(major);System.out.println(rs.getString(major); 演示示例:演示示例:向向xs表中添加记录、修改记录、删除记录表中添加记录、修改记录、删除记录 五、五、JDBCJDBC编程编程JDBC编程示例因为程序中加载驱动、获取连接、创建因为程序中加载驱动、获取连接、创建StatementStatement类、释放数据库服务器资源的部分基本与类、释放数据库服务器资源的部分基本与上例相同且代码过长,这里只给出出核心的代码:上例相同且代码过长,这里只给
37、出出核心的代码:/ /* * 删除记录删除记录 * */ /System.out.println(System.out.println(删除记录后删除记录后:);:);String sql3 = delete from xs where id = 150002;String sql3 = delete from xs where id = 150002;stmt.executeUpdate(sql3);stmt.executeUpdate(sql3);rs = stmt.executeQuery(select rs = stmt.executeQuery(select * * from xs)
38、; from xs);while (rs.next() while (rs.next() System.out.print(rs.getInt(id);System.out.print(rs.getInt(id);System.out.print(rs.getString(name);System.out.print(rs.getString(name);System.out.println(rs.getString(major);System.out.println(rs.getString(major); 演示示例:演示示例:向向xs表中添加记录、修改记录、删除记录表中添加记录、修改记录、
39、删除记录(续)(续) 五、五、JDBCJDBC编程编程JDBC编程示例因为程序中加载驱动、获取连接、释放数据库服务器资源的部分基本与上例相同且代码过因为程序中加载驱动、获取连接、释放数据库服务器资源的部分基本与上例相同且代码过长,这里只给出出核心的代码长,这里只给出出核心的代码:stmt = conn.createStatement();stmt = conn.createStatement();pstmt = conn.prepareStatement(insert into xs values (?, ?, ?);pstmt = conn.prepareStatement(insert i
40、nto xs values (?, ?, ?);/ /* * 添加第一条记录添加第一条记录 * */ /pstmt.setInt(1, 150009);pstmt.setInt(1, 150009);pstmt.setString(2, pstmt.setString(2, 李盼盼李盼盼););pstmt.setString(3, pstmt.setString(3, 化学工艺化学工艺););pstmt.executeUpdate();pstmt.executeUpdate();/ /* * 添加第二条记录添加第二条记录 * */ /pstmt.setInt(1, 150010);pstmt.
41、setInt(1, 150010);pstmt.setString(2, pstmt.setString(2, 赵晓楠赵晓楠););pstmt.setString(3, pstmt.setString(3, 环境科学环境科学););pstmt.executeUpdate();pstmt.executeUpdate();while (rs.next() while (rs.next() System.out.print(rs.getInt(id);System.out.print(rs.getInt(id);System.out.print(rs.getString(name);System.out.print(rs.getString(name);System.out.println(rs.getString(major);System.out.println(rs.getString(major); 演示示例:演示示例:使用使用PreparedStatement对象对象添加纪录添加纪录 五、五、JDBCJDBC编程编程JDBC编程示例 六、批处理六、批处理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024不锈钢水箱订购合同样本
- 2024年人工智能在医疗领域应用合同
- 2024年企业研发外包合同标的研发项目、周期与技术成果分配
- 高校学生食堂运营方案
- 灌溉系统引水隧道施工方案
- 海洋平台干式变压器安装技术方案
- 金融企业员工入职培训
- 济宁学院《教育科学研究方法》2021-2022学年第一学期期末试卷
- 2024年阿拉善盟c1客运资格证考试项目
- 服务企业员工沟通技巧培训
- 桥湾750kV变电站工程330kV构支架安装技术措施(1)
- 电动机的维护与保养毕业论文
- 部编版二年级上册道德与法治第二单元 我们的班级 达标测试卷及答案28
- 模拟真实天平(flash模拟型课件)
- 山东生态功能区划(文字)
- DFMEA模板(完整版)
- 发电机组达标投产自查报告
- 2021年贵州高考理综试题含答案
- 《财务管理学》知识点归纳(精华)
- 管道缩写代号.xlsx
- 英格索兰空压机服务协议
评论
0/150
提交评论