




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第17章 Java数据库编程一、MySQL安装图解下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下!打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面mysql安装图文教程1mysql安装向导启动,按“Next”继续mysql图文安装教程2选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程:mysql图文安装教程3在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。在上面的“MySQL Server(mysql服务器)”、“Client Programs(mysql客户端程序)”、“Documentation(文档)”也如此操作,以保证安装所有文件。点选“Change.”,手动指定安装目录。mysql图文安装教程4填上安装目录,我的是“F:ServerMySQLMySQL Server 5.0”,也建议不要放在与操作系统同一分区,这样可以防止系统备份还原的时候,数据被清空。按“OK”继续。mysql图文安装教程5返回刚才的界面,按“Next”继续mysql图文安装教程6确认一下先前的设置,如果有误,按“Back”返回重做。按“Install”开始安装。mysql图文安装教程7正在安装中,请稍候,直到出现下面的界面mysql图文安装教程8这里是询问你是否要注册一个的账号,或是使用已有的账号登陆,一般不需要了,点选“Skip Sign-Up”,按“Next”略过此步骤。mysql图文安装教程9现在软件安装完成了,出现上面的界面,这里有一个很好的功能,mysql配置向导,不用向以前一样,自己手动乱七八糟的配置my.ini了,将 “Configure the Mysql Server now”前面的勾打上,点“Finish”结束软件的安装并启动mysql配置向导。mysql图文安装教程10mysql配置向导启动界面,按“Next”继续mysql图文安装教程10选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程。mysql图文安装教程11选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,大家根据自己的类型选择了,一般选“Server Machine”,不会太少,也不会占满。mysql图文安装教程12选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),随自己的用途而选择了,开发人员推荐这里选择“Multifunctional Database”,按“Next”继续。mysql图文安装教程13对InnoDB Tablespace进行配置,就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。推荐初学使用用默认位置,直接按“Next”继续mysql图文安装教程14选择您的网站的一般mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,开发人员选择“Manual Setting”,按“Next”继续mysql图文安装教程15是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,我这里启用,把前面的勾打上,Port Number:3306,在这个页面上,您还可以选择“启用标准模式”(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。如果是个新手,建议取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。按“Next”继续mysql图文安装教程16西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set那里选择或填入“gbk”,尽可能不用“gb2312”,区别就是gbk的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字、和其它乱七八糟的字使用mysql的时候,在执行数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。按 “Next”继续。mysql图文安装教程17选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续。选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续。mysql图文安装教程18这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“New root password”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。“Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。mysql图文安装教程19确认设置无误,如果有误,按“Back”返回检查。按“Execute”使设置生效。mysql图文安装教程20设置完毕,按“Finish”结束mysql的安装与配置这里有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装mysql的服务器上,解决的办法,先保证以前安装的mysql服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将mysql安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的 data文件夹删除,备份的data文件夹移回来,再重启mysql服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。安装完成后,将C:Program FilesMySQLMySQL Server 5.5bin添加到系统环境变量Path中,后期可在cmd下使用命令来操作MySQL数据库。命令行下MySQL登录命令(用户名root,密码sa):MySQL uroot -psa二、常用SQL语句1.显示数据库。格式:show databases2.创建数据库。格式:create database 数据库名例:创建一个名字为test的数据库Create database test3.删除数据库。格式:drop database 数据库名例: drop database test,执行后test数据库已被删除 4切换当前数据库。格式:use 数据库名例:建立数据库test,进入test5.显示数据库中数据表。格式:show tables例:进入数据库test后,显示test有多少表,里面没有任何表,显示为空6创建表。语法:CREATE TABLE 表名(字段名1 数据类型 约束条件,字段名2 数据类型 约束条件,. ) 例如,创建一个person表CREATE TABLE person ( id bigint(20) primary key not null, age int(11) default NULL, firstname varchar(255) default NULL, lastname varchar(255) default NULL),执行后,如下7.删除表。格式:drop table 表名例:drop table person8添加记录。语法格式:INSERT INTO 表名 (字段1,字段2,)VALUES (值1,值2,) 例如:执行前面的建表语句,再执行 insert into person (id,firstname,lastname,age) values(1,testfirst1,testlast1,17)insert into person (firstname,age) values(testfirst2,18)insert into person (id,firstname,lastname) values(3,testfirst3,testlast3)insert into person (firstname,lastname,age) values(testfirst4,testlast4,20)9.查询语句。语法格式: SELECT ALL | DISTICT 字段表达式1.字段表达式2.-FROM 表名1.表名2.-WHERE 筛选择条件表达式GROUP BY 分组表达式 HAVING分组条件表达式ORDER BY 字段ASC | DESC 例:select id from person where firstname=testlast4select per.id from person as per where per.firstname=testlast4select * from person 格式:update 数据表 set 字段名=字段值 where 条件表达式 例:update person set firstname=fallmurderwind where id=4;update person set firstname=Tom where id=2;10.删除记录。格式:deletefrom数据表where条件表达式 例如:delete from person where firstname=Tom三、JDBC操作步骤1JDBC编程操作步骤:l 加载数据库驱动程序:把.jar或者.zip配置到classpath路径即可l 连接数据库:l 使用语句操作数据库:更新和查询两种l 关闭数据库连接:关闭连接释放资源注意:在Eclipse中,如classpath不能直接使用,需要将mysql的jar文件复制到jre/lib/ext目录下2数据库操作步骤:1) 加载数据库驱动,使用Class类 的forName方法2) 通过DriverManager获取数据连接DriverManager.getConnection(String url,String user,String pass)url写法,jdbc:mysql:/hostname:port/databasename3) 通过Connection对象创建Statement对象,createStatement方法,4) 使用Statement执行SQL语句execute():可以执行任何SQL语句,但比较麻烦executeUpdate():执行DML和DDL语句executeQuery():只能执行查询语句5) 操作结果集next、previous、first、last、beforeFirst、afterLast、absolute等移动记录指针的方法getXxx方法获取记录指针指向行,特定列的值,使用列索引做参数性能更好,也可使用列名做参数增加可读性6) 回收数据库资源,关闭ResultSet、Statement、Connection等资源3加载驱动程序【例题1】加载驱动程序,如程序可以执行,证明驱动程序配置成功public class ConnectionDemo01 /定义数据库驱动程序public static final String DBDRIVER = org.gjt.mm.mysql.Driver;public static void main(String args) tryClass.forName(DBDRIVER);catch(ClassNotFoundException e)e.printStackTrace();注意:如果使用Eclipse,需右键单击projectPropertiesJava Bulid PathLibrariesAdd External JARS选择驱动jar文件,导入后才能运行。4连接数据库如果驱动程序可以正常加载,接下来使用DriverManager类的getConnection(String url,String user,String password)方法连接数据库。该方法得到一个数据库的连接,返回一个Connection对象。该方法需要三个参数:连接地址、用户名、密码MySQL数据库的连接地址格式:jdbc:mysql:/IP地址:端口号/数据库名称【例题2】连接数据库package dep.wjb;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class ConnectionDemo02 /定义数据库驱动程序public static final String DBDRIVER = org.gjt.mm.mysql.Driver;/定义连接地址public static final String DBURL = jdbc:mysql:/localhost:3306/student;/定义连接用户名和密码public static final String DBUSER = root;public static final String DBPWD = sa;public static void main(String args) tryClass.forName(DBDRIVER); /加载驱动程序catch(ClassNotFoundException e)e.printStackTrace();/连接数据库Connection conn = null;tryconn = DriverManager.getConnection(DBURL,DBUSER,DBPWD);catch(SQLException e)e.printStackTrace();System.out.print(conn); / 打印输出连接的信息tryconn.close();catch(Exception e)e.printStackTrace();程序运行结果如下:com.mysql.jdbc.JDBC4Connection9fef6f程序结果不为空,证明数据库已经连接成功注意:数据库打开后必须关闭,释放服务器资源。5数据库更新(添加、修改、删除)数据库成功连接后,如果进行数据库操作,需要使用Statement接口完成,此接口可以使用Connection接口中提供的createStatement()方法进行实例化。常用方法如下,均会抛出SQLException异常:l int executeUpdate(String sql) :执行数据库更新SQL语句,返回更新记录数。l ResultSet executeQuery(String sql):执行查询操作,返回一个结果集对象。l void addBatch(String sql):增加一个待执行的SQL语句。l int executeBatch():批量执行SQL语句。l void close():关闭Statement。l boolean execute(String sql):执行SQL语句。【例题3】向数据库添加一条记录package dep.wjb;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;/向数据库添加一条记录public class ConnectionDemo03 public static final String DBDRIVER = org.gjt.mm.mysql.Driver;public static final String DBURL = jdbc:mysql:/localhost:3306/student;public static final String DBUSER = root;public static final String DBPWD = sa;public static void main(String args) throws Exception Class.forName(DBDRIVER); / 加载驱动程序/ 连接数据库Connection conn = null;conn = DriverManager.getConnection(DBURL, DBUSER, DBPWD);Statement st = null;String sql = insert into stu values(002,Tom,男,19);st = conn.createStatement();int n = st.executeUpdate(sql); /执行数据库更新操作if(n0) /返回值大于0,数据添加成功System.out.println(已成功添加到数据库);st.close(); /关闭Statementconn.close(); /关闭连接程序运行后,在命令行下看到如下代码,可见第二条数据即为刚才添加的信息。注意:程序最后一定要将打开的内容关闭,按照先开后闭的原则,先关闭Statement再关闭Connection。此处可以只写一次关闭连接的方法,一般来说连接关闭,其它的操作都会关闭,但为了养成良好的编码习惯,最好将所有打开的对象全部依次关闭。【例题4】数据库修改,在例题3基础上将SQL语句修改为Update语句即可package dep.wjb;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;/数据库内容修改public class ConnectionDemo04 /定义数据库驱动程序public static final String DBDRIVER = org.gjt.mm.mysql.Driver;/定义连接地址public static final String DBURL = jdbc:mysql:/localhost:3306/student;/定义连接用户名和密码public static final String DBUSER = root;public static final String DBPWD = sa;public static void main(String args) throws Exception Class.forName(DBDRIVER); / 加载驱动程序/ 连接数据库Connection conn = null;conn = DriverManager.getConnection(DBURL, DBUSER, DBPWD);Statement st = null; /声明Statement对象String sql = update stu set age = 21 where name = Tom;st = conn.createStatement(); /实例化Statement对象int n = st.executeUpdate(sql); /执行数据库更新操作if(n0) /返回值大于0,数据库更新成功System.out.println(已成功更新数据库信息);st.close(); /关闭Statementconn.close(); /关闭连接程序运行后,可以看到第二条记录年龄已经被修改为21。【例题5】数据的删除,执行delete语句即可完成删除操作。package dep.wjb;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;/数据删除public class ConnectionDemo05 /定义数据库驱动程序public static final String DBDRIVER = org.gjt.mm.mysql.Driver;/定义连接地址public static final String DBURL = jdbc:mysql:/localhost:3306/student;/定义连接用户名和密码public static final String DBUSER = root;public static final String DBPWD = sa;public static void main(String args) throws Exception Class.forName(DBDRIVER); / 加载驱动程序/ 连接数据库Connection conn = null;conn = DriverManager.getConnection(DBURL, DBUSER, DBPWD);Statement st = null; /声明Statement对象String sql = delete from stu where name = Tom;st = conn.createStatement(); /实例化Statement对象int n = st.executeUpdate(sql); /执行数据库更新操作if(n0) /返回值大于0,数据库更新成功System.out.println(已成功删除数据);st.close(); /关闭Statementconn.close(); /关闭连接程序运行后,可见第二条用户名为Tom的记录已经被删除6数据库查询ResultSet接口使用select语句可以查询要找条件给定的结果,数据库的查询记录使用ResultSet进行接收,使用ResultSet会将结果保存在内存中,需注意如果查询数据总量过大,系统可能会出现问题。如果现在进行数据库的查询,需要使用Statement接口的executeQuert()方法,将结果作为一个ResultSet对象进行返回,其中存放了所有的查询结果。ResultSet的常用方法如下:l boolean next():将指针移动到下一行l int getInt(int colunmIndex):以整数形式按列的编号获取指定列的内容l int getInt(String colunmName):以整数形式按列名称获取指定列的内容l Float getFloat(int colunmIndex):以浮点数形式按列的编号获取指定列的内容l Float getFloat (String colunmName):以浮点数形式按列名称获取指定列的内容l String getString(int colunmIndex):以字符串形式按列的编号获取指定列的内容l String getString(String colunmName):以字符串形式按列名称获取指定列的内容l Date getDate(int colunmIndex):以Date形式按列的编号获取指定列的内容l Date getDate(String colunmName):以Date形式按列名称获取指定列的内容【例题6】使用ResultSet进行数据查询package dep.wjb;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;/数据查询public class ConnectionDemo06 /定义数据库驱动程序public static final String DBDRIVER = org.gjt.mm.mysql.Driver;/定义连接地址public static final String DBURL = jdbc:mysql:/localhost:3306/student;/定义连接用户名和密码public static final String DBUSER = root;public static final String DBPWD = sa;public static void main(String args) throws Exception Class.forName(DBDRIVER); / 加载驱动程序/ 连接数据库Connection conn = null;Statement st = null; /声明Statement对象ResultSet rs = null;String sql = select id,name,sex,age from stu;conn = DriverManager.getConnection(DBURL, DBUSER, DBPWD);st = conn.createStatement(); /实例化Statement对象rs = st.executeQuery(sql);while(rs.next()String id = rs.getString(id);/使用列名查询String name = rs.getString(name);String sex = rs.getString(3);/使用index查询int age = rs.getInt(4);System.out.println(id + , + name + , + sex + , + age);rs.close(); /关闭ResultSetst.close(); /关闭Statementconn.close(); /关闭连接程序运行后,可见如下结果注意:查询所得到的ResultSet所有的数据都可以通过getString()方法获得;查询SQL语句在编写时减少使用”select *”,最好明确写出查询列名,方便后期代码编写。7PreparedStatement接口在JDBC应用中,稍有水平开发者,都始终以PreparedStatement代替Statement。也就是说,在熟练掌握JDBC编程后,任何时候都不要使用Statement,这是因为:1)用PreparedStatement来代替Statement会使代码多出几行,但这样的代码无论从可读性还是可维护性上来说.都比直接用Statement的代码高很多档次。2)PreparedStatement是预编译过的,会提高性能。每种数据库都会尽最大努力对预编译语句提供最大的性能优化。因为预编译语句有可能被重复调用,所以语句在被DB的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中。3)极大地提高了安全性。使用预编译语句,传入的任何内容就不会和原来的语句发生任何匹配的关系,只要全使用预编译语句,就不用对传入的数据做任何过滤。注意:在使用PreparedStatement时,SQL语句与Statement完全相同,但是具体内容采用“?”作为占位符形式出现,后面设置时按照“?”占位符的顺序设置具体的内容。PreparedStatment常用方法如下:l int executeUpdate():执行设置的预处理SQL语句l ResultSet executeQuery():执行数据库查询操作,返回ResultSetl void setInt(int parameterIndex,int x):指定要设置的索引编号,设置整数内容l void setFloat(int parameterIndex,Float x):指定要设置的索引编号,设置浮点数内容l void setString(int parameterIndex,String x):指定要设置的索引编号,设置字符串内容l void setDate(int parameterIndex,Date x):指定要设置的索引编号,设置java.sql.Date型内容注意:setDate()方法中时java.sql.Date,而不是.java.util.Date类型【例题7】使用PreparedStatement添加数据并查询package dep.wjb;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;/使用PreparedStatement进行数据添加public class ConnectionDemo07 /定义数据库驱动程序public static final String DBDRIVER = org.gjt.mm.mysql.Driver;/定义连接地址public static final String DBURL = jdbc:mysql:/localhost:3306/student;/定义连接用户名和密码public static final String DBUSER = root;public static final String DBPWD = sa;public static void main(String args) throws Exception Class.forName(DBDRIVER); / 加载驱动程序/ 连接数据库Connection conn = null;PreparedStatement st = null; /声明Statement对象String sql = insert into stu values(?,?,?,?);conn = DriverManager.getConnection(DBURL, DBUSER, DBPWD);st = conn.prepareStatement(sql); /实例化Statement对象st.setString(1, 003);st.setString(2, Alex);st.setString(3, 男);st.setInt(4, 19); int n = st.executeUpdate(); if(n0) System.out.println(数据添加成功); st.close(); /关闭Statementconn.close(); /关闭连接运行程序后,结果如下:【例题8】数据查询操作package dep.wjb;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;/使用PreparedStatement进行数据添加public class ConnectionDemo08 /定义数据库驱动程序public static final String DBDRIVER = org.gjt.mm.mysql.Driver;/定义连接地址public static final String DBURL = jdbc:mysql:/localhost:3306/student;/定义连接用户名和密码public static final String DBUSER = root;public static final String DBPWD = sa;public static void main(String args) throws Exception Class.forName(DBDRIVER); / 加载驱动程序/ 连接数据库Connection conn = null;PreparedStatement st = null; /声明Statement对象ResultSet rs = null;String sql = select id,name,sex,age from stu where name = ?;conn = DriverManager.getConnection(DBURL, DBUSER, DBPWD);st = conn.prepareStatement(sql); /实例化Statement对象st.setString(1, Tom);rs = st.executeQuery();while(rs.next()String id = rs.getString(id);/使用列名查询String name = rs.getString(name);String sex = rs.getString(3);/使用index查询int age = rs.getInt(4);System.out.println(id + , + name + , + sex + , + age);rs.close(); /关闭ResultSetst.close(); /关闭Statementconn.close(); /关闭连接程序运行后,结果如下:注意:如不确定查询内容,可使用模糊查询,例如:查询名字中带有i的人的信息,可将语句改为st.setString(1, % + i + %)四、操作大数据对象1)如果进行大对象的处理,比如要存储一部书、电影等这样的数据,就必须使用PreparedStatement完成,所有的内容要通过IO流的方式从大文本字段中保存和读取。常用方法:l void setAsciiStream(int parameterIndex,InputStream x,int length):将指定的输入流写入数据库的文本字段l void setBinaryStream(int parameterIndex,InputStream x,int length):将二进制的输入流数据写入到二进制字段中2)在大对象设置到数据库中,在查询时需要使用ResultSet进行读取。常用方法如下:l InputStream getAsciiStream(int columnIndex):根据列编号返回大对象的文本输入流l InputStream getAsciiStream(String columnName):根据列名称返回大对象的文本输入流l Clob getClob(int i):根据列的编号返回Clob数据l Clob getClob(String colName):根据列名称返回Clob数据l InputStream getBinaryStream(int columnIndex):根据列的编号返回二进制数据l InputStream getBinaryStream(String columnName):根据列的名称返回二进制数据l Blob getBlob(int i):根据列的编号返回Blob数据l Blob getBlob(String colName):根据列名称返回Blob数据以上方法分为两组,Clob和AsciiStream一般都返回大文本,Blob和BinaryStream一般都返回二进制数据。1写入Clob数据Clob表示大文本数据,对应MySQL中longtext数据类型,最大存储数据量为4GB。【例题9】向指定数据表中写入大文本数据,将F盘下SophiesWorld.txt写入数据库中1)创建数据库脚本如下create table userclob(id int auto_increment primary key,name varchar(30) not null,note longtext)直接使用Navicat设计如图所示2)代码如下:import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import jav
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家具厂质量管理制度
- 应急处置室管理制度
- 强电室安全管理制度
- 律师两结合管理制度
- 微生物培训管理制度
- 心电图质量管理制度
- 急诊科被褥管理制度
- 总承包投资管理制度
- 患标本安全管理制度
- 成品仓收货管理制度
- 安徽省宣城市皖东南初中六校2024-2025学年上学期七年级期中考试数学试卷
- 古镇旅游活动策划方案
- 清远市突发事件总体应急预案
- 通风与防排烟系统的施工方案
- 沪教版英语小学四年级上学期试卷与参考答案(2024-2025学年)
- 人工智能训练师理论知识考核要素细目表二级
- 2024年人教版一年级数学(下册)期末试卷及答案(各版本)
- 《卒中患者吞咽障碍护理规范》
- DL∕T 698.45-2017 电能信息采集与管理系统 第4-5部分:通信协议-面向对象的数据交换协议
- 2024版房屋租赁合同范本房屋租赁合同
- GB/T 44189-2024政务服务便民热线运行指南
评论
0/150
提交评论