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 数据库客户以标准网络协议(如>

2、创建连接对象。

3、创建sql语句执行对象。

4、执行sql语句。

5、对执行结果进行处理。

6、关闭相关的连接对象即可(顺序跟声明的顺序相反)。

处理结果两种情况:

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

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

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

扩展资料:

Statement

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

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

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

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

一般都使用JDBC(Java Data Base Connection)来实现数据库的增删改查,其他的hibernate什么的底层实现还是jdbc,以JDBC为例,首先你要知道数据库类型(注册驱动),然后根据数据库类型取得一个什么地方上的数据库的链接(取得链接),然后建立你要执行的 *** 作(执行 *** 作),最后对 *** 作结果进行处理,然后关闭链接释放资源就可以了。以SQL server为例。

Connection con=null;

Statement stmt = null;

ResultSet rs = null;

try {

String sql = "select id,name from users ";

DriverManagerregisterDriver(new netsourceforgejtdsjdbcDriver);//注册驱动,说明是什么数据库

con = DriverManagergetConnection("jdbc:jtds:sqlserver://localhost:1433/test1", "sa", "123456");//取得链接,说明我从哪里查询

stmt = concreateStatement();//创建 *** 作对象

rs = stmtexecuteQuery(sql);//执行 *** 作

while (rsnext()) {

Systemoutprintln(rsgetString("id")+ ":"+rsgetString("name"));//处理结果

}

} catch (SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}catch(IOException e){

eprintStackTrace();

}

finally {//关闭资源 释放链接

try {

if (rs != null) {

rsclose();

rs = null;

}

if (stmt != null) {

stmtclose();

stmt = null;

}

if (con != null) {

conclose();

con = null;

}

} catch (SQLException e) {

eprintStackTrace();

}

}

OVER

oracle的备份和还原可以用命令行来实现

备份 exp system/manager@TEST file=d:\daochudmp full=y

还原 imp system/manager@TEST file=d:\daochudmp

将上面的备份、还原命令可以新建成bat文件。然后在java中可以运行bat文件

RuntimegetRuntime()exec("cmdexe   /C   start   D:\\testbat");

这样就实现了oracle的备份与还原。当然这里只是提供一个大概的思路,实际运用中可能需要备份某些数据,还原到其他数据库等。

JDBC *** 作MySQL数据库的步骤

1、准备MySQL数据库驱动包:mysql-connector-java-508-binjar,一个项目中只能存在一个版本的驱动包

a、复制该驱动包,粘贴到项目中

b、选中项目里的驱动包,右键->Build Path->Add to Build Path

2、在类里写代码加载驱:决定连接哪种数据库

a、ClassforName("commysqljdbcDriver");

b、必须进行异常处理:ClassNotFoundException

3、连接数据库

a、Connection con=DriverManagergetConnection("连接字符串", "用户名", "密码");

b、连接字符串格式固定,不同数据库,格式不同:jdbc:mysql://要连接的计算机名称:端口号/要连接的数据库名称

c、必须进行异常处理:SQLException

4、拼写要执行的sql语句,必须是可以在数据库中执行的

5、创建执行sql语句的对象

a、Statement stmt=concreateStatement();

b、注意:Statement必须来自于javasql包中

6、执行sql语句

a、执行insert、update和delete语句:int row=stmtexecuteUpdate(sql);返回影响行数

b、执行查询语句:ResultSet rs=stmtexecuteQuery(sql);返回查询结果

c、执行任意sql语句(DDL、DCL、DML和DQL等)

7、对执行结果进行处理

a、执行更新语句:判断影响行数是否为0,0表示失败,非0表示成功

b、对查询结果进行处理:

1) 结果集需要先移动、后取值 :rsnext();int id=rsgetInt(1);

String name=rsgetString("loginName");

2) 结果集有多条时,需要循环 *** 作:

while(rsnext()){ Systemoutprintln(rsgetInt(1)+"\t"+rsgetString(2)+"\t"+rsgetString(3)+"\t"+rsgetString(4)+"\t"+rsgetInt(5));

}

3) 不确定是否有查询结果时:if(rsnext()){说明有查询结果}else{没有查询结果}

4) 使用了聚合函数,一定有查询结果,查询结果是一行一列:

rsnext();

int result=rsgetInt(1);

注意:结果集取值时取出的时查询语句中包含的字段,与表中字段无关

9、关闭相关对象(先关闭结果集对象、在关闭执行语句对象,最后关闭连接对象)

例如:执行查询语句

Scanner input=new Scanner(Systemin);

Systemoutprint("请输入登录名: ");

String name=inputnext();

Systemoutprint("请输入密码: ");

String pass=inputnext();

try {

ClassforName("commysqljdbcDriver");

Connection con=DriverManagergetConnection("jdbc:mysql://localhost:3306/userdb", "root", "root");

String sql="select COUNT() from UserInfo where loginName='"+name+"' and loginPass='"+pass+"'";

Statement stmt=concreateStatement();

ResultSet rs=stmtexecuteQuery(sql);

rsnext();

int result=rsgetInt(1);

if(result!=0){

Systemoutprintln("登录成功!");

}else{

Systemoutprintln("用户名或密码错误,请重新登录!");

}

rsclose();

stmtclose();

conclose();

} catch (ClassNotFoundException e) {

Systemoutprintln("加载驱动错误:"+egetMessage());

} catch (SQLException e) {

Systemoutprintln("数据库 *** 作错误:"+egetMessage());

}

执行添加、修改和删除语句

try {

//加载驱动

ClassforName("commysqljdbcDriver");

//连接数据库

Connection con=DriverManagergetConnection("jdbc:mysql://localhost:3306/userdb", "root", "root");

//拼写要执行的sql语句

String sql="update UserInfo set loginPass='111' where loginName='a'";

//String sql="insert UserInfo values(default,'test','test')";

//String sql="delete from UserInfo where loginName='a'";

//创建执行语句对象

Statement stmt=concreateStatement();

//执行

int row=stmtexecuteUpdate(sql);

//处理结果

if(row==0){

Systemoutprintln("修改失败!");

}else{

Systemoutprintln("修改成功!");

}

//关闭

stmtclose();

conclose();

} catch (ClassNotFoundException e) {

Systemoutprintln("驱动加载错误:"+egetMessage());

} catch (SQLException e) {

Systemoutprintln("数据库 *** 作错误:"+egetMessage());

}

以上就是关于Java技术实现数据库应用系统慨述全部的内容,包括:Java技术实现数据库应用系统慨述、java怎么和数据库连接(java与数据库怎样连接)、谁能告诉我java 中的调用数据库的实现方法!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9753450.html

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

发表评论

登录后才能评论

评论列表(0条)

保存