Java技术实现数据库应用系统慨述

Java技术实现数据库应用系统慨述,第1张

Java 语言是Sun MicroSystems 公司于 年正式命名并推出的一种面向对象的编程语言 OOP(abbr Object Oriented Programming) Sun 公司说 Java 程序设计 语言被设计成是 by programmers for programmers 其随着 Internet 的发展而广为流行 用它开发的系统 一次开发 到处运行 的特色以及程序开发设计时所体现出的面向对象的思想深深地触动着人们 它的语言简洁 集多种程序设计语言之大成 且面向对象 具有可移植性 分布性 安全性 高性能等特色 Java在向Internet/Intranet 甚至计算机世界的各个领域渗透 慢慢改变着人们的思维 而今Internet 热浪一浪高过一浪 从外部世界走向企业内部形成Intranet 促进了Java 技术的利用开发 计算机业界中的IBM ORACAL APPLE Sun Netscape五家公司还联合推出 网络计算机(NC ) 规范 抛开 Wintel 臃肿不堪的体系结构 使用户端价格低廉 易于使用 并成为能够连接网络的简单计算机 NC(Neork Computer) 即所说的 瘦客户 机 NC 支持Java 虚拟机(JVM) 能够运行Java开发的应用程序(Application)和小程序(Applet)并支持多媒体应用 NC 和Java 的结合诞生了新的时代 网络计算机时代 就连Sun的冤家对头Microsoft的比尔 盖茨也不得不承认 Java是长时间以来最卓越的程序设计语言 一 Java 数据库基础 JDBC API Java语言在数据库应用方面 特别在基于Web 的B/S结构的在线数据库应用方面的烦琐复杂配置等 并不能使用户和程序开发双方都十分满意 SunSoft虽提供了用Java语言编写成的Java与数据库的接口规范JDBC(Java DataBase Connectivity 而JavaSoft说JDBC并不代表什么) 使Java程序可以通过统一标准规范的JDBC API来与不同的数据库通信 确保了 %纯Java 的解决方案 JDBC API 定义了Java中的类和接口 表示数据库连接 SQL 指令 结果集合等 它允许Java程序员发送SQL 指令并处理结果 JDBC API 提供两种主要接口 一是面向开发人员的java sql程序包 使得Java程序员能够进行数据库连接 执行SQL查询 并得到结果集合 Java 的java sql包提供了 个类和 个接口 下文将介绍 另一是面向底层数据库厂商的JDBC Drivers 目前为止 Java 的JDBC Drivers仅提供下述四种类型的数据库驱动方式 且各有利弊 ( ) JDBC ODBC bridge plus ODBC driver 方式 JDBC ODBC 桥接方式利用微软的开放数据库互连接口(ODBC API)同数据库服务器通讯 客户端计算机首先应该安装并配置ODBC driver 和JDBC ODBC bridge两种驱动程序 这是Applets访问你的数据库最可能的解决方式 但这对Internet 和Intranet 用户而言简直是一个非常令人讨厌和麻烦的解决方案 ( ) Native API partly Java driver方式 这种驱动方式将数据库厂商的特殊协议转换成Java代码及二进制类码 使Java 数据库客户方与数据库服务器方通信 例如 Oracle用SQLNet协议 DB 用IBM 的数据库协议 数据库厂商的特殊协议也应该被安装在客户机上 这也是令人讨厌和麻烦的解决方案 ( ) JDBC Net pure Java driver方式 这种方式是纯Java driver 数据库客户以标准网络协议(如>

多对多关系表

公司表comId

行业表tradeId如果有父子关系增加一个parentId关联tradeId

关系表comIdtradeId一个公司属于多个行业就是多条记录

在JAVA开发中数据库的学习也是我们需要了解的,截下来几篇文章都是关于数据库的设计和应用,那么java课程培训机构废话不多说开始学习吧!

数据库的设计

数据库设计是基础,数据库优化是建立在设计基础之上的。好的数据库一定拥有好的设计。

数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效的运行环境。

数据库的三大范式

第一范式1NF:所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。

第二范式2Nf:第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。

第三范式3Nf:所有字段必须与主键直接相关,而不是间接相关。也可以理解为字段不要和其他非主键字段相关

注意:这三个范式尽可能去遵守,不是一定要墨守成规这只是让我们设计的表的时候,越靠近这些范式,可以使字段尽量的减小冗余但是有时候也可以根据实际需要小小的违背一下但是第三范式违反一下还可以接受,但是第一范式别违反

数据库设计的步骤

需求分析阶段

准确了解与分析用户需求(包括数据与处理)。是整个设计过程的基础,是最困难、最耗费时间的一步。

概念结构设计阶段

是整个数据库设计的关键--设计数据库的E-R模型图,确认需求信息的正确和完整

Entity_Relationship---实体之间的关系

一对一

一对多

多对一

Java可以使用JDBC访问数据库,也可以使用各类ORM框架访问数据库,但这些框架最终还是通过JDBC访问数据库,它们只是封装了数据库 *** 作,而使得开发者可以减少这部分消耗。因此,本文只讲解JDBC访问方式。

JDBC访问一般分为如下流程:

1、加载JDBC驱动程序:

在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过javalangClass类的静态方法forName(StringclassName)实现。

例如:

try{

//加载MySql的驱动类

ClassforName("commysqljdbcDriver");

}catch(e){

Systemoutprintln("找不到驱动程序类,加载驱动失败!");

e();

}

成功加载后,会将Driver类的实例注册到类中。

2、提供JDBC连接的URL

连接URL定义了连接数据库时的协议、子协议、数据源标识。

书写形式:协议:子协议:数据源标识

协议:在JDBC中总是以jdbc开始

子协议:是桥连接的驱动程序或是数据库管理系统名称。

数据源标识:标记找到数据库来源的地址与连接端口。

例如:(MySql的连接URL)

jdbc:mysql://localhost:3306/testuseUnicode=true&=gbk;

useUnicode=true:表示使用Unicode字符集。如果设置为

gb2312或GBK,本参数必须设置为true。=gbk:字符编码方式。

3、创建数据库的连接

要连接数据库,需要向javasql请求并获得Connection对象,该对象就代表一个数据库的连接。

使用的(Stringurl,Stringusername,Stringpassword)方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。

例如:

//连接MySql数据库,用户名和密码都是root

Stringurl="jdbc:mysql://localhost:3306/test";

Stringusername="root";

Stringpassword="root";

try{

Connectioncon=

(url,username,password);

}catch(se){

Systemoutprintln("数据库连接失败!");

se();

}

4、创建一个Statement

要执行SQL语句,必须获得javasqlStatement实例,Statement实例分为以下3种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过实例实现。

3、执行数据库存储过程。通常通过实例实现。

具体的实现方式:

Statementstmt=con();

PreparedStatementpstmt=conprepareStatement(sql);

CallableStatementcstmt=conprepareCall("{CALLdemoSp(,)}");

5、执行SQL语句

Statement接口提供了三种执行SQL语句的方法:executeQuery、executeUpdate和execute

1、ResultSetexecuteQuery(StringsqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。

2、intexecuteUpdate(StringsqlString):用于执行INSERT、UPDATE或DELETE语句以及SQLDDL语句,如:CREATETABLE和DROPTABLE等

3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。

具体实现的代码:

ResultSetrs=stmtexecuteQuery("SELECTFROM");

introws=stmtexecuteUpdate("INSERTINTO");

booleanflag=stmtexecute(Stringsql);

6、处理结果

两种情况:

1、执行更新返回的是本次 *** 作影响到的记录数。

2、执行查询返回的结果是一个ResultSet对象。

ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。

使用结果集(ResultSet)对象的访问方法获取数据:

while(rsnext()){

Stringname=rsgetString("name");

Stringpass=rsgetString(1);//此方法比较高效(列是从左到右编号的,并且从列1开始)

}

7、关闭JDBC对象

*** 作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:

1、关闭记录集

2、关闭声明

3、关闭连接对象

if(rs!=null){//关闭记录集

try{

rsclose();

}catch(SQLExceptione){

eprintStackTrace();

}

}

if(stmt!=null){//关闭声明

try{

stmtclose();

}catch(SQLExceptione){

eprintStackTrace();

}

}

if(conn!=null){//关闭连接对象

try{

connclose();

}catch(SQLExceptione){

eprintStackTrace();

}

}

Java 数据库连接的主要用途如下:

实现登录功能。目前大多数网站都会有用户管理功能,这些用户的账号和密码需要存储在数据库里面,当需要连接服务器时,就需要使用数据库连接来访问网站的数据库,来验证是否正确。

数据的管理功能。大多数网站在运营时,都会产生很多种数据,比如 *** 作日志、订单信息等,都需要进行数据的管理,比如删除、增加、移动等。

DriverManager 类是 JDBC 的管理层,作用于用户和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。另外,DriverManager类也处理诸如驱动程序登录时间限制及登录和跟踪消息的显示等事务。

优点:数据库系统是用来管理数据的,建立的数理逻辑和集合 *** 作基础上的。

具有高效、可靠、完整、自同步等特性,是业务系统进行数据控制的最佳选择。

数据库系统一般提供高效的数据控制和数据检索功能,采用SQL语言来进行数据 *** 作。

目前市面上流行的数据库系统很多:较小型的数据库系统有:mysql,MSSQL_SERVER等等,适用于企业级的大型数据库有:ORACEL,DB2(IBM),INFORMIX(IBM)等等

缺点:安全性不够,加了用户级密码容易破解

C/S

结构下对服务器要求很高,否则容易造成

MDB

损坏并发数255。

但是对高强度 *** 作适应性差,如果服务器不够好,网络不够好,编程的方法不够好,6-7个人同时访问就能导致

MDB

损坏或者并死不能将

VBA

代码开发的软件系统直接编译成

EXE

可执行文件。

不能脱离

ACCESS

或者

ACCESS

RUNTIME

环境,该环境相对其他软件体积较大(50M左右)

以上就是关于Java技术实现数据库应用系统慨述全部的内容,包括:Java技术实现数据库应用系统慨述、学习java有什么技巧么、数据库怎么设计!javamysql等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9346447.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存