




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第5章 Java數(shù)據(jù)庫(kù)編程主要內(nèi)容: 5.1. 數(shù)據(jù)庫(kù)編程基礎(chǔ)5.2. JDBC5.3. 數(shù)據(jù)庫(kù)編程15.1. 數(shù)據(jù)庫(kù)編程基礎(chǔ)1. 數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱(chēng)DB)是在計(jì)算機(jī)系統(tǒng)中按照一定的數(shù)據(jù)結(jié)構(gòu)(模型)組織、存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中的相互聯(lián)系的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)可以供多種用戶共享,具有較小的冗余度和較高的數(shù)據(jù)獨(dú)立性。2. 數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System, 簡(jiǎn)稱(chēng)DBMS)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,是數(shù)據(jù)庫(kù)系統(tǒng)的重要組成部分,對(duì)數(shù)據(jù)庫(kù)的所有操作和控制都是通過(guò)它來(lái)進(jìn)行的。2關(guān)系數(shù)據(jù)庫(kù)模型把數(shù)據(jù)用表的集合來(lái)表示.數(shù)據(jù)表由一個(gè)或多個(gè)相關(guān)的數(shù)據(jù)項(xiàng)組
2、成表視 圖. 訂單 客戶 產(chǎn)品 記 錄關(guān)系數(shù)據(jù)庫(kù)模型5.1. 數(shù)據(jù)庫(kù)編程基礎(chǔ)31. 數(shù)據(jù)庫(kù)的概念關(guān)系數(shù)據(jù)庫(kù)可以由多個(gè)表組成,表與表之間可以用不同的方式相互關(guān)聯(lián).例如: 學(xué)生表: 成績(jī)表:703892951成績(jī)學(xué)號(hào)劉三3李二2張一1姓名學(xué)號(hào)劉三703姓名成績(jī)學(xué)號(hào)關(guān)系數(shù)據(jù)庫(kù)模型5.1. 數(shù)據(jù)庫(kù)編程基礎(chǔ)41. 數(shù)據(jù)庫(kù)的概念表、記錄、行列關(guān)系:課程編號(hào)課程名稱(chēng)學(xué)時(shí)學(xué)期平均成績(jī)A001Java編程基礎(chǔ)32179A003C語(yǔ)言48185B004信號(hào)與系統(tǒng)32267C001通信原理32266屬性行(記錄)列關(guān)系數(shù)據(jù)庫(kù)模型5.1. 數(shù)據(jù)庫(kù)編程基礎(chǔ)5結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)SQL是結(jié)構(gòu)化查詢(xún)語(yǔ)言(Structu
3、red Query Language)的簡(jiǎn)稱(chēng)。SQL語(yǔ)言是IBM公司在20世紀(jì)70年代所開(kāi)發(fā)的一種數(shù)據(jù)庫(kù)操作語(yǔ)言。它是一個(gè)綜合的、功能強(qiáng)大的關(guān)系型數(shù)據(jù)庫(kù)語(yǔ)言,能實(shí)現(xiàn)數(shù)據(jù)庫(kù)的創(chuàng)建、更新、刪除、數(shù)據(jù)定義、文本限制、出現(xiàn)控制等操作,被公認(rèn)為是數(shù)據(jù)庫(kù)操作不可缺少的工具。SQL現(xiàn)在已經(jīng)成為關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言。美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)和國(guó)際標(biāo)準(zhǔn)化組織(ISO)制定了一系列的SQL標(biāo)準(zhǔn)。5.1. 數(shù)據(jù)庫(kù)編程基礎(chǔ)6SELECT語(yǔ)句數(shù)據(jù)查詢(xún)是數(shù)據(jù)庫(kù)的常用、核心的操作。SQL語(yǔ)言提供了SELECT語(yǔ)句進(jìn)行數(shù)據(jù)庫(kù)查詢(xún)。SELECT語(yǔ)句例子: Select 學(xué)號(hào),姓名,成績(jī) From 學(xué)生表,成績(jī)表 Where
4、 成績(jī)60結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)5.1. 數(shù)據(jù)庫(kù)編程基礎(chǔ)7更新記錄INSERTInsert語(yǔ)句用于向數(shù)據(jù)庫(kù)的某個(gè)表中插入新的記錄.INSERT語(yǔ)句例子: Insert into 學(xué)生表(學(xué)號(hào),姓名) Values(041201,張三)結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)5.1. 數(shù)據(jù)庫(kù)編程基礎(chǔ)8更新記錄UPDATEUPDATE語(yǔ)句用于數(shù)據(jù)修改。UPDATE語(yǔ)句示例: update 成績(jī)表 set 成績(jī)=80 where 學(xué)號(hào)=041201結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)5.1. 數(shù)據(jù)庫(kù)編程基礎(chǔ)9更新記錄DELETEDELETE語(yǔ)句進(jìn)行數(shù)據(jù)刪除。DELETE語(yǔ)句示例: DELETE FROM 學(xué)生表 WHERE
5、姓名=張三 結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)5.1. 數(shù)據(jù)庫(kù)編程基礎(chǔ)105.2. JDBCJDBC是個(gè)商標(biāo)名而不是縮寫(xiě)。但經(jīng)常被認(rèn)為是Java Database Connectivity的縮寫(xiě)。即Java數(shù)據(jù)庫(kù)連接API。JDBC是由一組用Java語(yǔ)言編寫(xiě)的類(lèi)和接口組成。JDBC為開(kāi)發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,允許用戶從Java應(yīng)用程序中訪問(wèn)任何表格數(shù)據(jù)源。JDBC支持SQL工業(yè)標(biāo)準(zhǔn).JDBC有兩個(gè)重要的組件:驅(qū)動(dòng)程序管理器和JDBC-ODBC橋.11JDBC技術(shù)簡(jiǎn)介驅(qū)動(dòng)程序管理器: JAVA應(yīng)用程序平臺(tái)與數(shù)據(jù)庫(kù)無(wú)關(guān)性是通過(guò)驅(qū)動(dòng)程序管理器實(shí)現(xiàn)的.在開(kāi)發(fā)過(guò)程中需要為不同的數(shù)據(jù)庫(kù)使用不同的JDBC驅(qū)動(dòng)程
6、序,這些驅(qū)動(dòng)程序的選擇由驅(qū)動(dòng)程序管理器完成.JDBC-ODBC橋 Microsoft提供了一個(gè)ODBC(開(kāi)放式數(shù)據(jù)庫(kù)互連)的技術(shù),使windows應(yīng)用程序能訪問(wèn)不同的數(shù)據(jù)庫(kù).Java程序不能直接與ODBC驅(qū)動(dòng)器通信.SUN公司提供了由JDBC訪問(wèn)ODBC數(shù)據(jù)源的驅(qū)動(dòng)器JDBC-ODBC橋接器.5.2. JDBC12JDBC API為Java開(kāi)發(fā)者使用數(shù)據(jù)庫(kù)提供了統(tǒng)一的編程接口。即JDBC建立了一種不依賴(lài)具體DBMS編程的機(jī)制,使開(kāi)發(fā)人員不必考慮所用的具體數(shù)據(jù)庫(kù),就能編寫(xiě)出客戶端/服務(wù)器數(shù)據(jù)庫(kù)應(yīng)用程序.JDBC 30版本 :java.sqljavax.sql5.2. JDBCJDBC技術(shù)簡(jiǎn)介13
7、java.sql 這個(gè)包中的類(lèi)和接口主要針對(duì)基本的數(shù)據(jù)庫(kù)編程服務(wù),如生成連接、執(zhí)行語(yǔ)句以及準(zhǔn)備語(yǔ)句和運(yùn)行批處理查詢(xún)等。同時(shí)也有一些高級(jí)的處理,比如批處理更新、事務(wù)隔離和可滾動(dòng)結(jié)果集等。javax.sql 它主要為數(shù)據(jù)庫(kù)方面的高級(jí)操作提供了接口和類(lèi)。如為連接管理、分布式事務(wù)和舊有的連接提供了更好的抽象,它引入了容器管理的連接池、分布式事務(wù)和行集等。 5.2. JDBCJDBC 30版本 :14JDBC能夠提供以下功能 1)與數(shù)據(jù)庫(kù)建立連接 2)向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句 3)處理數(shù)據(jù)庫(kù)返回的結(jié)果5.2. JDBCJDBC技術(shù)簡(jiǎn)介151)與數(shù)據(jù)庫(kù)建立連接在JAVA應(yīng)用程序中要對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操作,
8、首先就要與數(shù)據(jù)庫(kù)進(jìn)行連接.與數(shù)據(jù)庫(kù)連接一般分為兩個(gè)步驟:1.裝入驅(qū)動(dòng)器:所有的與數(shù)據(jù)庫(kù)交互操作都是借助于DBMS特定的驅(qū)動(dòng)器而發(fā)生的.所以,進(jìn)行數(shù)據(jù)處理之前,需要確定DBMS廠商提供的驅(qū)動(dòng)器并裝入它.2.連接到數(shù)據(jù)庫(kù):在裝入DBMS特定驅(qū)動(dòng)器后,就可以連接需要操作的數(shù)據(jù)庫(kù).5.2. JDBC16裝入數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序?yàn)榱私⑴c數(shù)據(jù)庫(kù)的連接,需要調(diào)用Class類(lèi)的forName()方法來(lái)裝入數(shù)據(jù)庫(kù)特定的驅(qū)動(dòng)器.如果用JDBC-ODBC橋接器來(lái)與數(shù)據(jù)庫(kù)通信,則用語(yǔ)句: Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)如果用JDBC Driver(JDBC驅(qū)動(dòng)器
9、)與數(shù)據(jù)庫(kù)通信,則根據(jù)不同的數(shù)據(jù)庫(kù)使用下面的語(yǔ)句: 裝載MS SQL Server驅(qū)動(dòng) Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”) 裝載Oracle JDBC驅(qū)動(dòng) Class.forName(oracle.jdbc.driver.OracleDriver)5.2. JDBC17 在裝入JDBC驅(qū)動(dòng)器時(shí)可能發(fā)生異常,因此要捕獲這個(gè)異常try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e) System.out.
10、println(Driver not found);5.2. JDBC裝入數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序18連接到數(shù)據(jù)庫(kù)用 DriverManager(驅(qū)動(dòng)程序管理器)類(lèi)中的getConnection方法建立與數(shù)據(jù)庫(kù)的連接. 例如: Connection conn = DriverManager.getConnection(“jdbc:odbc:數(shù)據(jù)源名”,”數(shù)據(jù)源訪問(wèn)用戶名”,”數(shù)據(jù)源訪問(wèn)密碼”); conn是Connection類(lèi)的對(duì)象,代表了與數(shù)據(jù)庫(kù)的連接.在應(yīng)用程序中可以使用多個(gè)Connection對(duì)象與一個(gè)或多個(gè)數(shù)據(jù)庫(kù)連接.5.2. JDBC19DriverManager獲得數(shù)據(jù)庫(kù)連接 Driver
11、Manager.getConnection(parameter ) 重載方法:static Connection getConnection(String url) static Connection getConnection(String url,Properties info) static Connection getConnection(String url,String user,String password) 5.2. JDBC20DriverManagerURL的語(yǔ)法如下:jdbc: 協(xié)議 jdbc子協(xié)議 子名 數(shù)據(jù)庫(kù)名 驅(qū)動(dòng)程序URLJDBC-ODBCsun.jdbc.od
12、bc.JdbcOdbcDriverjdbc:odbc:odbcsourceOracle thin Driveroracle.jdbc.driver.OracleDriverjdbc:oracle:thin:ip:port:sidMySQLorg.gjt.mm.mysql.Driverjdbc:mysql:/ip/database5.2. JDBC212)向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句要將應(yīng)用程序?qū)?shù)據(jù)庫(kù)操作的SQL語(yǔ)句發(fā)送給DBMS,要執(zhí)行如下兩步操作: 1) 首先使用已經(jīng)建立好的Connection對(duì)象的createStatement()方法創(chuàng)建一個(gè)Statement對(duì)象. Statement st
13、mt = conn.createStatement(); 2) 然后定義一個(gè)變量存放要發(fā)送的SQL語(yǔ)句。如:String strS = “select * from student”; String strI = “Insert into 學(xué)生表(學(xué)號(hào),姓名) Values(041201,張三)”;如果是一般的SELECT查詢(xún)語(yǔ)句要發(fā)送,則使用executeQuery(strS)方法。 如果是insert、update或delete修改語(yǔ)句,則使用executeUpdate(strI)方法。5.2. JDBC223)處理數(shù)據(jù)庫(kù)返回的結(jié)果利用Statement對(duì)象的executQuery()方法
14、發(fā)送的SQL查詢(xún)語(yǔ)句,會(huì)返回一個(gè)ResultSet對(duì)象,存放結(jié)果集。ResultSet對(duì)象包含了訪問(wèn)結(jié)果集中數(shù)據(jù)的很多方法。典型的有:getString(int n)getInt(int n)getFloat(int n)getDate(int n)next() 等.5.2. JDBC23ResultSet對(duì)象常用方法next()方法: 把當(dāng)前的指針向下移動(dòng)一位。最初它位于第一行之前,因此第一次調(diào)用next將把指針置于第一行上,使它成為當(dāng)前行。隨著每次調(diào)用next導(dǎo)致指針向下移動(dòng),按照從上至下的次序 獲取ResultSet行。5.2. JDBC24ResultSet結(jié)果集的取得ResultSe
15、t的使用 . . . ResultSet rst = stmt.executeQuery(Select * from User_Info);while (rst.next() System.out.println(rst.getString(userName);System.out.println(rst.getDate(regDate);System.out.println(rst.getString(4);System.out.println(rst.getInt(age); . . .5.2. JDBC255.3. 數(shù)據(jù)庫(kù)編程在Java程序中要操作數(shù)據(jù)庫(kù),一般應(yīng)該通過(guò)如下幾步:1)導(dǎo)入與
16、數(shù)據(jù)庫(kù)相關(guān)的類(lèi) import java.sql.*;2)加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序 Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);3)建立數(shù)據(jù)庫(kù)連接 Connection conn = DriverManager.getConnection(jdbc:microsoft:sqlserver:/localhost:1433; DatabaseName=db_library;“,”sa”,”); 4)創(chuàng)建Statement對(duì)象 Statement stmt = conn.createStatement(); 26Java程序中要操作
17、數(shù)據(jù)庫(kù)步驟:5)執(zhí)行查詢(xún)語(yǔ)句 ResultSet rs = stmt.executeQuery(SELECT id,name FROM student); 6)取值 while (rs.next() .7)關(guān)閉Stamtement stmt.close();8)關(guān)閉連接conn.close(); 見(jiàn)p195例子5.3. 數(shù)據(jù)庫(kù)編程27數(shù)據(jù)庫(kù)舉例import java.sql.*;public class DBDemo public static void main(String args) String strurl =jdbc:odbc:stu; Connection conn =null;
18、 Statement stmt =null; ResultSet rs=null; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); conn=DriverManager.getConnection(strurl,null,null); stmt=conn.createStatement(); rs=stmt.executeQuery(select 姓名,年齡 from 學(xué)生); 5.3. 數(shù)據(jù)庫(kù)編程28 while (rs.next() System.out.println(學(xué)號(hào):+rs.getString(1)+ 年齡:+rs.getInt(
19、2); catch (ClassNotFoundException e) e.printStackTrace(); catch(SQLException e) e.printStackTrace(); finally try if(stmt !=null) stmt.close(); if(conn !=null& !conn.isClosed() conn.close(); catch(SQLException e) e.printStackTrace(); 5.3. 數(shù)據(jù)庫(kù)編程數(shù)據(jù)庫(kù)舉例29處理帶參數(shù)的查詢(xún)?cè)诤芏鄳?yīng)用中,要查詢(xún)的內(nèi)容或更新的內(nèi)容是運(yùn)行時(shí)由用戶輸入來(lái)確定的.此時(shí),在編寫(xiě)應(yīng)用程
20、序時(shí),就不能確定SQL語(yǔ)句中有些項(xiàng)的值.像這樣的查詢(xún),Java提供了一個(gè)PreparedStatement對(duì)象來(lái)處理。PreparedStatement對(duì)象允許執(zhí)行帶參數(shù)的查詢(xún),如:select * from student where 學(xué)號(hào)=?用Connection對(duì)象的PreparedStatement()方法來(lái)創(chuàng)建PreparedStatement對(duì)象。5.3. 數(shù)據(jù)庫(kù)編程30方法如下:String url=“jdbc:odbc:MydataSource”;Connection conn=DriverManager.getConnection(“url”,”la”,”1234”);Pre
21、paredStatement stat;String s=“select * from student where 學(xué)號(hào)=?”;stat=conn.prepareStatement(s);在執(zhí)行PreparedStaatement 對(duì)象之前,必須設(shè)置每個(gè)?參數(shù)的值??梢酝ㄟ^(guò)調(diào)用PreparedStatement對(duì)象的setXxx()方法來(lái)設(shè)置,如:stat.setString(1,textDept.getText();表示用textDept文本框中用戶輸入的內(nèi)容來(lái)設(shè)置參數(shù)值。5.3. 數(shù)據(jù)庫(kù)編程處理帶參數(shù)的查詢(xún)31本實(shí)例運(yùn)用前面介紹的知識(shí)能對(duì)圖書(shū)管理系統(tǒng)中的借閱進(jìn)行管理,步驟如下 (1)功能設(shè)
22、計(jì) (2)數(shù)據(jù)庫(kù)設(shè)計(jì) (3)建立數(shù)據(jù)庫(kù)操作類(lèi): (4)設(shè)計(jì)圖書(shū)信息管理相關(guān)類(lèi) (5)設(shè)計(jì)借閱管理相關(guān)類(lèi) (6)設(shè)計(jì)圖書(shū)查詢(xún)類(lèi) (7)設(shè)計(jì)用戶信息管理相關(guān)類(lèi)Java實(shí)用編程技術(shù)圖書(shū)借閱管理軟件實(shí)例32(1)功能設(shè)計(jì)33(2)數(shù)據(jù)庫(kù)設(shè)計(jì)34public class Dao protected static String dbClassName = com.microsoft.jdbc.sqlserver.SQLServerDriver;protected static String dbUrl = jdbc:microsoft:sqlserver:/localhost:1433; + Databa
23、seName=db_library;SelectMethod=Cursor useunicode=true;characterEncoding=GB18030 ;protected static String dbUser = sa;protected static String dbPwd = ;protected static String second = null;private static Connection conn = null;private Dao() System.out.println(dbUrl);try if (conn = null) Class.forName
24、(dbClassName).newInstance();conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);elsereturn; catch (Exception ee) ee.printStackTrace();(3)設(shè)計(jì)數(shù)據(jù)庫(kù)操作相關(guān)的類(lèi)Dao.建立數(shù)據(jù)庫(kù)連接35public static int Insertbook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date date,Doub
25、le price) int i=0; try String sql=insert into tb_bookInfo(ISBN,typeId,bookname,writer,translator,publisher,date,price) values(+ISBN+,+typeId+,+bookname+,+writer+,+translator+,+publisher+,+date+,+price+);/System.out.println(sql); i=Dao.executeUpdate(sql); catch(Exception e) System.out.println(e.getMe
26、ssage(); Dao.close(); return i; Dao類(lèi)中插入圖書(shū)信息的方法36class addBookActionListener implements ActionListener / 添加按鈕的單擊事件監(jiān)聽(tīng)器public void actionPerformed(final ActionEvent e) / 訂書(shū)業(yè)務(wù).String ISBNs=ISBN.getText().trim();String bookTypes=item.getId();String translators=translator.getText().trim();String bookNames
27、=bookName.getText().trim();String writers=writer.getText().trim();String publishers=(String)publisher.getSelectedItem();String pubDates=pubDate.getText().trim();String prices=price.getText().trim();int i=Dao.Insertbook(ISBNs,bookTypes, bookNames, writers, translators, publishers, java.sql.Date.valueOf(pubDates),Double.parseDouble(prices);if(i=1) JOptionPane.showMessageDialog(null, 添加成功); doDefaultCloseAction();(4)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中國(guó)銀行外匯商業(yè)房抵押貸款合同中國(guó)銀行抵押貸款
- 2025授權(quán)專(zhuān)賣(mài)店特許合同范本
- 2025設(shè)備租賃合同欠款爭(zhēng)議解決
- 2025專(zhuān)利使用許可專(zhuān)用合同范本
- 《2025年度企業(yè)雇傭合同》
- 2025年標(biāo)準(zhǔn)管理資金信托合同模板
- 2025企業(yè)臨時(shí)工勞動(dòng)合同樣本示范
- 2025租賃合同格式
- 2025網(wǎng)絡(luò)安全等級(jí)保護(hù)測(cè)評(píng)服務(wù)合同
- 2025合同違約不及時(shí)履行將產(chǎn)生保函責(zé)任
- 人教版(2024)七年級(jí)下冊(cè)英語(yǔ)期中質(zhì)量檢測(cè)試卷(含答案)
- 針刺傷預(yù)防與處理(中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn))
- 2024年度《安全教育家長(zhǎng)會(huì)》課件
- 安全生產(chǎn)法律法規(guī)知識(shí)培訓(xùn)課件
- 地鐵安檢專(zhuān)業(yè)知識(shí)培訓(xùn)課件
- 2024年國(guó)家國(guó)防科技工業(yè)局軍工項(xiàng)目審核中心招聘筆試參考題庫(kù)附帶答案詳解
- 三寶證盟薦亡往生功德文疏
- YY∕T 1849-2022 重組膠原蛋白
- 行政管理工作流程優(yōu)化方案
- 鼓式制動(dòng)器畢業(yè)設(shè)計(jì)
- 醫(yī)院內(nèi)部醫(yī)療廢物收集運(yùn)送流程圖
評(píng)論
0/150
提交評(píng)論