数据库基本介绍以及在java中的操作.doc

上传人:F****n 文档编号:104285957 上传时间:2019-10-08 格式:DOCX 页数:16 大小:24.62KB
返回 下载 相关 举报
数据库基本介绍以及在java中的操作.doc_第1页
第1页 / 共16页
数据库基本介绍以及在java中的操作.doc_第2页
第2页 / 共16页
数据库基本介绍以及在java中的操作.doc_第3页
第3页 / 共16页
数据库基本介绍以及在java中的操作.doc_第4页
第4页 / 共16页
数据库基本介绍以及在java中的操作.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《数据库基本介绍以及在java中的操作.doc》由会员分享,可在线阅读,更多相关《数据库基本介绍以及在java中的操作.doc(16页珍藏版)》请在金锄头文库上搜索。

1、JDBC:通常翻译为“JAVA DATABASE CONNECTION”,JAVA数据库连接。而实际上,JDBC早已被SUN注册为商标。对于开发人员有什么好处?不需要了解各个不同的数据库,只需要了解JDBC接口,了解接口以后就能够使用各厂商的实现。于是产生以下概念: JDBC:本质就是SUN提出的一系列数据库相关的接口。 驱动程序:厂商对JDBC接口作出不同实现,所以不同数据库有不同的驱动(JAR包)。一个程序是否使用接口,是面向过程与面向对象的一个重要标志!对于数据库,可以随时由SQLServer切换到Oracle,而JDBC相关代码并不会影响。SUN利用接口的特点,完成JDBC的开发以及使

2、用。一般来讲,接口使用时,会涉及到以下三方 接口的定义方 接口的实现方(可能很多实现,以便切换) 接口的调用方: 接口 a = new 实现类(); 如何访问数据库? 只能通过SQL来访问(DML(增删改查)+DDL(创建)+DCL(权限)。 JAVA程序如何访问数据库?只能通过操作SQL来访问数据库。在JAVA,访问数据库只有一种技术,那就是JDBC。(接口只需要一个!)什么是持久化:将一个东西永久保存。为什么要对象持久化,即为什么要将对象的进行保存?因为关机就没了。 保存的方式(也是本书不叫数据库的原因)1、序列化(二进制文件,用记事本打开是乱码)2、文件(XML文件) xxx 缺点:效率

3、低,不安全,没有事务功能(查资料:什么是事务,示例:张三借钱给李四,张三钱减少和李四钱增加,这两个步骤要同时执行成功,或者同时失败,这种机制就叫事务)。3、数据库:将对象所携带的数据保存到表中。 企业需要:高效率、高安全、事务控制、灵活计算 一般人开发不了,只能花钱购买。所以数据库就是一套软件。JAVA:10000个学生对象,找出其中有几种姓氏,各有多少个。缺点:算法复杂,关键是效率低。 而这些缺点的解决就是数据库所提供的功能。小结:数据库只是持久化方式的一种,持久化方式还有XML和序列化。(比例:XML:DB = 2:8)基本概念 数据库:相关数据的集合。对于计算机,就是存储数据的文件。 D

4、atabase,简称:DB。 数据库管理系统:管理包含数据的文件以及其它相关文件的软件,就是DBMS,Database Manage System。 关系型数据库:保存各实体(与对象概念相同)以及实体之间关系的数据库。通常以表格形式保存数据。Relational DBMS,简称RDBMS。根据将相关数据保存在一起方式的不同分为: 层次模型:如:网页的节点之间的关系、目录之间的关系。在后面将会讲到,所使用XML的就是一种流行的层次型数据库。 网状模型: 关系型:以表格方式将数据分别保存,其中的内容包含实体和实体关系两种。对比:保存班级和学生信息。层次型: 张三 张三丰 李四 杨五郎 层次:一个学

5、校有多个班,每个班有多个学生,一个学生只能在一个班。关系型:班级表:班级编号班级名称1一班2二班学生表:学号姓名班级编号5001张三15002张三丰15101李四25102李四娘2关键问题:从表格中看出哪些问题:有哪些实体(对象):班级实体:一班,二班学生实体:张三、张三丰、李四、李四娘有哪些实体关系:学生实体与班级实体有什么关系?通过学生表.班级编号,表示哪个学生在哪个班。班级表:班级编号12上面的编号1代表一班,2代表二班。所以这个数字代表了一个实体。在DB中,这个班级编号很特殊,叫做主键,Primary key。主键作用就是标识一个实体,即给一个对象设置一个编号。一个人在社会上的主键:是

6、身份证。一个人在学校的主键:学号一个人在工作单位的主键:工号一个部门在公司的主键:部门编号啤酒在超市的主键:商品编号为什么要设置主键:主要就是标识一个实体(对象),标识的目的就是让这个实体与众不同,与众不同的目标是计算机能够认别与区别。没有编号,当班上有两个姓名相同的同学时,计算机就无法区别了。学号姓名班级编号5001张三15002张三丰15101李四25102李四娘2一个实体使用了另一个实体的编号(学生使用了班级编号),那么这个被引用的编号叫外键,Foreign key。外键一定是另一个实体的主键(外键=外面实体的主键)。(外键相当于JAVA程序中的“引用”)。小结:数据库 = 实体 + 关

7、系实体用主键来标识,关系用外键来反映。DBMS:数据库管理系统,是一个特殊的软件。如何操作?1、 通过GUI界面,鼠标操作。2、 通过代码,操作数据库的代码叫做SQL,结构化查询语言,Structrure Query Language。查询语言,是不是只能查询?并不是,它能操作数据库的一切。一切:增删改查:增加记录,删除记录建库,建表创建用户,设置权限:SQLServer默认用户是sa,system administrator。根据功能SQL分类:建库建表:DDL,数据定义语言。如定义表格的结构。增删改查:DML,数据操作语言,在操纵数据。设置权限:DCL,数据控制语言,控制数据库的访问。SQ

8、L叫结构化查询语言,指的是以查询为主的语言。用SQL可以操作数据库,在JAVA中如果能使用SQL,就能使用数据库。在JAVA中,使用SQL语言的技术叫JDBC,JAVA Database Connection,JAVA数据库连接。注意,JDBC也是SUN一个产品商标。结构:JAVA程序JDBCSQL数据库将数据保存到数据库中的软件,叫做基于数据库的业务系统。关键字:关系型数据库 层次型数据库 XML数据库实体关系有哪些关系:一对一,一对多,多对多。明天讲。SUN利用接口的特点,完成JDBC的开发以及使用。一般来讲,接口使用时,会涉及到以下三方 接口的定义方 接口的实现方(可能很多实现,以便切换

9、) 接口的调用方: 接口 a = new 实现类(); 如何访问数据库? 只能通过SQL来访问(DML(增删改查)+DDL(创建)+DCL(权限)。 JAVA程序如何访问数据库?只能通过操作SQL来访问数据库。在JAVA,访问数据库只有一种技术,那就是JDBC。(接口只需要一个!)如何进行JDBC开发?几个步骤: 加载驱动 指定连接信息 登录,即与数据库连接 最后要关闭 加载驱动代码:Class.forName(net.sourceforge.jtds.jdbc.Driver);(在创建Driver类对象同时,利用其中的静态代码完成一系列复杂的操作,具体的理解就是所需的类全部加载)。要点1、

10、不同的数据库不同的驱动,即不同的jar包。2、 不同的数据库不同URL 指定数据库位置数据库分为本地数据库和网络数据库。对于任何一个网络程序,必须有IP地址和端口。IP地址指明是哪一台计算机,端口指明是这台计算机分配的什么资源。计算机比喻为大楼,端口就是各房间(程序)的窗口(端口)。对于数据库,还要指明是哪一个数据库。因为同一台计算机有多个数据库。另外,在这个世界上有很多种语言,在网络也有很多语言,这个语言就是协议。 代码:String url = jdbc:jtds:sqlserver:/127.0.0.1:1433/instant;jdbc:jtds:sqlserver:协议127.0.0

11、.1:1433/instant:IP、端口、数据库名不管是哪种数据库,都必须包含以上4个部分。现在,驱动有了,硬件条件具备;数据库的位置以及用户名和密码也有了,软件条件具备。可以连接数据库。在JAVA当中,一切皆对象。所以连接数据库以后得到一个连接对象。连接:Connection这个对象如何获得?驱动程序中有一个驱动管理器,对应DriverManger,由它提供。Connection conn =DriverManager.getConnection(url, user, password);该方法执行成功以后,就返回一个Connection对象。连接是一种宝贵的资源,所以必须珍惜。要尽快释放

12、。因为任何一个数据库的连接数也不会太多,通常不能超过255。通常在大型WEB应用中,通过连接池来解决这个问题。SQL按有无返回数据分,分为两大数:增删改和查询。强调:只有查询,才有返回数据库中数据!第一类:执行增删改以及DDL(createl,drop)步骤 定义sql字符串,即sql语句。 定义一个执行sql语句的对象,叫语句对象语句:Statement谁来创建这个对象? 现在只有一个连接对象,只能是它。 固定使用 st.executeUpdate()方法。思考:执行了增删改语句以后,有没有什么东西可以返回的?因为总应该告诉你sql执行成功没?在JAVA程序中,一条语句执行成功,通常使用异常

13、。不需要返回true/false。其实数据库要返回插入了多少条记录、或者删除、或者更新了多少条记录?第二类:返回表格中的数据同上。 固定使用 st.executeQuery()方法。 查询返回的数据封装在结果集中。 结果集: ResultSet rsrs包含多个行的数据,每个行有多个列的数据,对应表格理解。只能通过循环取出。外层:循环行 内层:循环列rs.next() :指针(又叫游标)移到下一条记录,如果有数据则返回truers.getInt(1) :从第1个列中取出数据,取出后类型转化为 int。 只有数据库相关的索引是从1开始!rs.getString(name) :从name字段取出数据,然后转化为String即:取数据有两种方法,指定列的位置和指定列的名称。任务:实训3.2(建表,插入数据,以及查询)用JDBC完成. 看JDBC录像。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号