`
lianxiangbus
  • 浏览: 529695 次
文章分类
社区版块
存档分类
最新评论

JDBC基础(二)

阅读更多
因为是基础篇,所以还是对每一步骤简单说明一下吧:

前面说是,注册驱动程序有多方法,Class.forName();是一种显式地加载.当一个驱
动程序类被Classloader装载后,在溶解的过程中,DriverManager会注册这个驱动类的实例.
这个调用是自动发生的,也就是说DriverManager.registerDriver()方法被自动调用了,当然
我们也可以直接调用DriverManager.registerDriver()来注册驱动程序,但是,以我的经验.
MS的浏览中APPLET在调用这个方法时不能成功,也就是说MS在浏览器中内置的JVM对该方法的
实现是无效的.
另外我们还可以利用系统属性jdbc.drivers来加载多个驱动程序:
System.setProperty("jdbc.drivers","driver1:driver2:.....:drivern");多个驱动程序之
间用":"隔开,这样在连结时JDBC会按顺序搜索,直到找到第一个能成功连结指定的URL的驱动
程序.
在基础篇里我们先不介绍DataSource这些高级特性.

在成功注册驱动程序后,我们就可以用DriverManager的静态方法getConnection来得
到和数据库连结的引用:
Connectionconn=DriverManager.getConnection(url);
如果连结是成功的,则返回Connection对象conn,如果为null或抛出异常,则说明没有
和数据库建立连结.
对于getConnection()方法有三个重载的方法,一种是最简单的只给出数据源即:
getConnection(url),另一种是同时给出一些数据源信息即getConnection(url,Properties),
另外一种就是给出数据源,用户名和密码:getConnection(url,user,passwod),对于数据源信息.
如果我们想在连结时给出更多的信息可以把这些信息压入到一个Properties,当然可以直接压
入用户名密码,别外还可以压入指定字符集,编码方式或默认操作等一些其它信息.

在得到一个连结后,也就是有了和数据库找交道的通道.我们就可以做我们想要的操
作了.
还是先来介绍一些一般性的操作:
如果我们要对数据库中的表进行操作,要先缘故绑定一个语句:
Statementstmt=conn.createStatement();
然后利用这个语句来执行操作.根本操作目的,可以有两种结果返回,如果执行的查询
操作,返回为结果集ResultSet,如果执行更新操作,则返回操作的记录数int.
注意,SQL操作严格区分只有两个,一种就是读操作(查询操作),另一种就是写操作(更
新操作),所以,create,insert,update,drop,delete等对数据有改写行为的操作都是更新操作.

ResultSetrs=stmt.executeQuery("select*fromtablewherexxxxx");
intx=stmt.executeUpdate("deletefromtablewhere......");
如果你硬要用executeQuery执行一个更新操作是可以的,但不要把它赋给一个句柄,
当然稍微有些经验的程序员是不会这么做的.
至于对结果集的处理,我们放在下一节讨论,因为它是可操作的可选项,只有查询操作
才返回结果集,对于一次操作过程的完成,一个非常必要的步骤是关闭数据库连结,在你没有了
解更多的JDBC知识这前,你先把这一步骤作为JDBC操作中最最重要的一步,在以后的介绍中我会
不断地提醒你去关闭数据库连结!!!!!!!!!!!

按上面介绍的步骤,一个完成的例子是这样的:(注意,为了按上面的步骤介绍,这个例
子不是最好的)
try{
Class.forName("org.gjt.mm.mysql.Driver");
}catch(Exceptione){
System.out.println("没有成功加载驱动程序:"+e.toString());
return;
}//对于象我这样的经验,可以直接从e.toString()的简单的几个字判断出异常原因,
//如果你是一个新手应该选捕获它的子类,如何知道要捕获哪几个异常呢?一个简单
//的方法就是先不加try{},直接Class.forName("org.gjt.mm.mysql.Driver");,编
//译器就会告诉你要你捕获哪几个异常了,当然这是偷机取巧的方法,最好还是自己
//去看JDK文档,它会告诉你每个方法有哪些异常要你捕获.
Connectionconn=null;
try{
conn=DriverManager.getConnection(
"jdbc:mysql://host:3306/mysql",
"user",
"passwd");
Statementstmt=conn.createStatement();
ResultSetrs=stmt.executeQuery("select*fromtable");
//rs处理
[rs.close();]
[stmt.close();]
}
catch(Exceptione){
System.out.println("数据库操作出现异常:"+e.toString());
}
finally{
try{conn.close();}catch(Exception){}
}//不管你以前是学习到的关于数据库流程是如何操作的,如果你相信我,从现在开始,
//请你一定要把数据库关闭的代码写到finally块中,切切!
分享到:
评论

相关推荐

    jdbc基础和参考

    是一个很大的缓存,本身维护了一个可配置的二级缓存 4.用来构建Session对象 Configuration 1.启动和配置Hibernate 2.读取hibernate的配置文件和映射文件 3.构建SessionFactory对象 Transaction 1.事务管理对象...

    JDBC 3.0数据库开发与设计

    第1章 JDBC概述 1.1 JDBC简介 1.2 JDBC3.0规范 1.3 JDBC3.0 API的新特点 1.3.1 JDBC 3.0 API的一致性 1.3.2 不赞成的API 1.4 JDBC 3.0中的类和接口 1.4.1 java.sql包中的类和接口及其使用 1.4.2 javax.sql...

    MLDN魔乐JAVA_90JDBC(二).

    web开发学习的必备技术之一,软件开发的参考文档,熟能生巧,不久,自学者就能应用的得心应手,成为web开发的一位高手,也为网站制作爱好者的首选学习资料,专业,详细,全面,一份资料胜几分不够专业的资料文档,...

    java web实验报告;开发环境及web基础, JSP、Servlet及JDBC、扩展JavaScript

    实验1:Java Web开发环境及Web编程基础;实验2 JSP、Servlet及JDBC应用开发;实验3 扩展JavaScript框架应用;实验4 Web应用综合设计; 天津理工大学

    Java_JDBC由浅入深

    第二节 jdbc的概念 3 2.1概念 3 2.2 Jdbc与应用程序的关系 3 2.3 数据库的连接步骤 4 2.4 Quick Start 4 第三节 如何与数据库建立连接 6 3.1 注册驱动 6 3.2 建立数据库的连接 8 3.3 规范Quick Start中的例子 10 第...

    基于JSP+JDBC+MySQL开发报价管理系统

    有一定Java的基础,那么这个课程肯定适合你。 4.创建数据库表 客户表、产品类型表、产品表、订单表、报价表。 5.分为6讲: 01第一讲:课程介绍和系统分析 02第二讲:客户管理模块页面设计 03第三讲:数据库管理类和...

    JDBC 增删改的操作.docx

    封装数据库连接、关闭方法和封装数据库增、删、改、查方法,实现Java项目连接数据库,实现基础的JDBC操作。 二、使用示例 1、项目准备 1)创建数据库 创建jdbc_test数据库,在此数据库中创建student表,设置id属性、...

    基于JSP+JAVABEAN+JDBC图书管理系统

    基于JSP+JAVABEAN+JDBC图书管理系统 摘 要 .........................................................1 目 录 .........................................................2 第一章 绪论 ..................

    韩顺平JavaEE全套,第二部分:jdbc视频教程

    泰牛程序员 韩顺平 JavaEE全套 第02部分 Jdbc 视频教程

    Java-Web程序设计实战-第8章-JDBC详解.pptx

    在这方面它的功能极佳,数据库连接API易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。高级接口是"对用户友好的"接口,它使用的是一种更易理解和更为方便的API。 在关系数据库的"对象/...

    二、数据库技术(stream流、数据库、jdbc、三层)

    数据库: stream流、数据库、jdbc、三层结构

    教学在线留言答疑系统,JavaWeb基础,servlet jsp filter,原生jdbc.zip

    它包含了从基础到高级的完整知识体系,以及实际项目操作的全部流程。具体内容包括: 项目背景与目标:详细介绍了“系统管理”项目的起源、目的和核心功能。 技术栈概览:涵盖了Spring、SpringMVC、MyBatis等主流...

    基础电子中的通过JDBC连接DB2数据库技巧

    关于DB2数据库的JDBC连接文章有很多,比较出名的有诸如“JDBC数据库连接大全”和“JSP的DB2连接... 第二, 连接字符串的格式。本地连接的连接字符串格式为jdbc:product_name: database_name,远程连接的格式为jdbc:

    JSP使用JDBC完成动态验证及采用MVC完成数据查询的方法

    ① 在上一次的实例基础上,通过连接数据库完成用户登录功能,介绍JDBC的基本用法; ② 通过显示所有用户信息进一步介绍JDBC的用法和查询结果的处理。 1、JDBC概念 Java Database Connectivity的缩写,用于连接Java...

    spring-jdbc-orm:基于spring-jdbc 写的一个小型ORM

    二是自动生成增/删/改/查以及分页查询sql语句,使用了此工具后基础的语句就不必在费尽心思copy 改了。绝对会提高效率,让你的工作重心放在业务上。技术实现此小工具运用了注解和反射,其中在设计上运用了一些设计...

    基于 SpringBoot + ShardingSphere(Sharding-JDBC) 的水平分表测试项目+源代码+文档说明

    ## 二、Sharding-JDBC VS JDBC 性能测试 - **压测环境:MacBook Pro,处理器:2.3GHz、双核、Intel Core i5,内存:8GB、2133MHz LPDDR3** - **分片数量:30** - **测试数据基数:一百万条左右**...

    完整版 杭州电子科技大学JAVA语言程序设计 JAVA_13 JDBC(共15页).ppt

    JAVA_2面向对象(OO)程序设计概念\第二章上机练习题.doc JAVA_3JAVA语言基础\StringTest.java JAVA_3JAVA语言基础\Test.java JAVA_3JAVA语言基础\Welcome.java JAVA_3JAVA语言基础\第三章上机练习题.doc JAVA_4Java...

    Proxool-0.9.1

    proxool.0.9.1基础上做了修改。 改jar名称为:proxool-0.9.1.1,主要修改为以下3点: 1.解决不能Unregister jdbc driver的内存泄露问题。 十二月 02, 2013 8:19:43 上午 org.apache.catalina.loader....

    Java数据库技术详解 DOC简版

    第二篇 JDBC篇 第5章 JDBC技术基础 5.1 JDBC概述 5.2 JDBC API 5.3 JDBC操作数据库 5.4 本章小结 第6章 JDBC的高级特性 6.1 PreparedStatement预编译对象 6.2 CallableStatement存储过程对象 6.3 ...

    jsp_servlet_javabean_jdbc 实现简易的网上留言系统

    jsp_servlet_javabean_jdbc 实现简单的网上留言系统,包含用户注册、登录、留言板块。此事例来自Java EE基础实用教程第二版,不是自己原创,完整的敲的书上的代码。

Global site tag (gtag.js) - Google Analytics