`
wangqinqin
  • 浏览: 58776 次
  • 性别: Icon_minigender_2
  • 来自: 江苏
社区版块
存档分类
最新评论

JDBC开发的接口和JDBC编程步骤

    博客分类:
  • jdbc
阅读更多

3. JDBC开发的接口:

Driver 数据库驱动------------àcom.mysql.jdbc.Driver

DriverManager----------à管理driver

Connection-------------à链接

Statement--------------à创建insert--------àSQL(每插入一个sql语句都要编译,安全性不高)

PreparedStatement------à预编译(不需要每插入一个相同的sql语句都要编译)

Types

 

 

 

 

一个DriverManager可以管理多个Driver



 

 

提示:jdbc是为Hibernate做铺垫的;

 

4 .JDBC编程步骤:

注册加载JDBC驱动程序;

注册加载驱动driver,也就是强制类加载:

其注册加载JDBC驱动有三种方法:

方法一:Class.forName(DriverName); 其中DriverName=Driver包名。Driver类名;

OracleDriverName=oracle.jdbc.driver.OracleDriver“;

MySqlDriverName=com.mysql.jdbc.Driver“;

SQLServerDriverName=com.microsoft.jdbc.sqlserver.SQLServerDriver“;

方法二:Class.forName(DriverName).newInstance()

方法三:直接创建一个驱动对象:new oracle.jdbc.driver.OracleDriver()

 

建立与数据库的连接(connection);

Connection con=DriverManager.getConnectionString URL, String username, String  password);

Connection连接是通过DriverManager的静态方法getConnection..)来得到的,这个方法的实质是把参数传到实际的Driver中的connection()方法中来获得数据库连接的。

数据库中的URL值是由连接数据库的协议和数据库的ip地址及端口号还有要连接的数据库的库名DatabaseName)即

1) Oracle  URL格式为:

jdbcoraclethin(协议)@xxxXxxxxxxxxxxxip地址及端口号):xxx(所使用的数据库名字)

例:jdbc:oracle:thin:@localhost:1521:ambow

2MySql URL的写法:

例:jdbcmysql// localhost3306 / 数据库名;

3SqlServer的写法:

例:jdbc:microsoft:sqlserver://localhost:1433/数据库名

 

java -Djdbc.drivers=驱动的完整类名

使用虚拟机参数,加载驱动 -D表示为虚拟机参数赋值

java -Djdbc.drivers=oracle.jdbc.driver.OracleDriver:com.mysql.jdbc.Driver

创建一个statement或preparedStatement(发送sql请求);

Statement stm=con.createStatement();

PreparedStatement  pstm=con.prepareStatement(sql);

执行sql语句;

ResultSet rs=stm.executeQuery(sql);

ResultSet rs=pstm.executeQuery();

遍历获取处理结果集(只对查询语句select

Whlers.next(){

System.out.print(rs.getString("列名1") + " ");

System.out.print(rs.getString("列名1") + " ");

System.out.println(rs.getString("列名3"));

}

ResultSet中的next()方法:

1. 判断是否存在下一条记录

2. 将游标移向下一条记录

Getxxx(字段名或字段序号)//注意:字段序号从1开始。

关闭statementresutltsetConnection语句;

使用Connection对象获得一个StatementStatement中的executeQuery(String sql)方法可以使用select语句查询,并且返回一个结果集ResutltSet通过遍历这个结果集,可以获得select语句的查询结果,ResultSetnext()方法会操作一个游标从第一条记录的前边开始读取,直到最后一条记录。executeUpdate(String sql)方法用于执行DDLDML语句,可以updatedeleteinsert操作。

注意:关闭操作必须执行,因为这些资源是不会自动释放的,必须要自己关闭。要按先ResultSet结果集,后statementpreparedStatement,最后Connection的顺序关闭资源,因为statementResultSet是需要连接时才可以使用的,所以在使用结束之后有可能其他的Statement还需要连接,所有不能先关闭Connection

其整个步骤代码如下:

package com.ambow.day19.jdbc;

 

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

 

/*

 * JDBC编写五大步骤:

 * 说明:在main方法后不声明可能要抛出的异常,而在代码中用try....catch....来交给异常类来捕获处理。

 * 若是直接声明异常将由JVM来处理,这样,JVM资源将会被逐渐用完,这样JVM的运行速度会越来越慢。

 * 缺点:当我们将JDBC与数据库连接时都要重复写连接数据库和关闭数据库的代码,而这些代码是不需要改动的。

 * 这样比较麻烦。

 * 优化方法:将连接数据库连接和关闭数据库的代码封装到另一个类中;参见类JDBCTest2.javaJDBCConAndClo.java

 */

public class JDBCTest1 {

public static void main(String args[]) {

Connection con = null;

Statement stm = null;

ResultSet rs = null;

String URL = "jdbc:oracle:thin:@localhost:1521:ambow";

String user = "system";

String password = "wqq123";

try {

// 1.注册并加载JDBC驱动程序:有三种方法:

//方法一:

Class.forName("oracle.jdbc.driver.OracleDriver");

 

//方法二:

//Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

 

//方法三:直接建一个驱动对象:

//new oracle.jdbc.driver.OracleDriver();

 

// 2.建立与数据库的连接:

con = DriverManager.getConnection(URL, user, password);

 

// 判断是否连接成功

if (!con.isClosed()) {

System.out.println("数据库连接成功。");

else {

System.out.println("数据库连接失败。");

}

// 3.执行sql语句:

String sql = "select * from s_dept";

// 创建一个statement(发送sql)

stm = con.createStatement();

// 执行查询sql语句

rs = stm.executeQuery(sql);

// 4.获取sql结果集:

while (rs.next()) {

// 将数据库各个字段名类型转换为java中类型(getXXX方法)

System.out.print(rs.getString("id") + " ");

System.out.print(rs.getString("name") + " ");

System.out.println(rs.getString("region_id"));

}

 

catch (ClassNotFoundException e) {

e.printStackTrace();

catch (SQLException e) {

e.printStackTrace();

}finally {

// 5.关闭数据库(规则:顺着进,倒着关),释放资源:

try {

if (rs != null) {

rs.close();

rs = null;

}

if (stm != null) {

stm.close();

stm = null;

}

if (con != null) {

con.close();

con = null;

}

catch (SQLException e) {

e.printStackTrace();

}

}

}

}

注意:但我们通常将对数据库的连接和关闭操作专门封装在另一个包中,在对数据库的操作中会直接调用这个封装类。

 

<!--EndFragment-->

  • 大小: 129.8 KB
0
0
分享到:
评论

相关推荐

    实验九:JDBC编程

    本次实验,我了解了JDBC的概念与使用场景,理解了JDBC的工作原理,掌握了使用JDBC操作数据库的基本步骤,掌握了JDBC中几个常用接口和类,了解了带数据库操作的应用程序开发步骤等。

    数据库实验JDBC连接数据库.docx

    选课序号:36 选课序号:36 大连海事大学 数据库原理课程实验报告 (2010-2011学年第二学期) 实验八 ... 实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。 思考题:JDBC连接数据库进行应用开发

    实验项目D、Java应用专题编程

    5、掌握Java数据库开发(JDBC操作)的准备。 6、掌握和理解导入包的类。 二、实验内容和主要步骤 ★专题:核心专题技术★ 1.枚举基础和应用 2.包装类和自动装箱 3.异常基础实验 4.包访问权限实验 5.[选做]内部类型...

    JDBC Java数据库连接 快速入门 基础+提高 实战视频教程

    Java数据库连接,(Java Database ...本教程将对JDBC各个接口和类作详细讲解,同时通过多个JAVA语言操作数据库示例,让大家直观了解JDBC开发步骤和实现过程,并在实际操作中逐步掌握JDBC开发的一些重要知识点和技巧。

    计算机程序设计(Java)-教案--单元十--数据库编程技术.docx.docx

    :・JDBC连接和访问数据库的步骤; 技能目标 :・掌握JDBC进行数据库编程的基本过程; :・掌握数据库驱动程序的加栽方法; 掌握DriverManager类中用于连接数据库方法; 熟练使用Connection接口中的方法; :・熟练使用...

    Java入门1·2·3——一个老鸟的Java学习心得 高清pdf

    最后还给出了一个聊天程序实例和一个数据表操作窗口实例,将Swing、UDP、Java集合类、线程同步、接口和JDBC编程有机地结合起来,展示了开发一个简单程序的典型步骤。 本书适合广大想学习一门编程语言的读者、没有...

    数据库系统原理与开发-数据库连接技术(ODBC).pdf

    数据库连接技术(ODBC ODBC) ) 1 数据库原理及应用 数据库系统原理与开发 电子科技大学-陈安龙 了解数据库编程的内容 了解ODBC的技术背景 掌握数据库ODBC的层次架构 理解应用程序使用ODBC访问数据库的步骤 ...

    J2EE实验指导书*******

    实验一 熟悉J2EE编程环境 7 一、实验目的及任务 7 二、实验环境 7 三、实验步骤 7 1、JDK150的下载、安装和配置 7 ①新增系统变量JAVA_HOME: 7 ②编辑系统变量Path: 8 2、下载、安装Tomcat web服务器 9 3、下载、...

    Java开发详解.zip

    031704_【第17章:Java数据库编程】_JDBC操作步骤及数据库连接操作笔记.pdf 031705_【第17章:Java数据库编程】_执行数据库更新操作笔记.pdf 031706_【第17章:Java数据库编程】_ResultSet接口笔记.pdf 031707_【第...

    Java入门1·2·3:一个老鸟的Java学习心得.rar 超清

    最后还给出了一个聊天程序实例和一个数据表操作窗口实例,将Swing、UDP、Java集合类、线程同步、接口和JDBC编程有机地结合起来,展示了开发一个简单程序的典型步骤。 《Java入门1·2·3:一个老鸟的Java学习心得》...

    21天学通Java-由浅入深

    类与对象(精彩视频:48分钟) 96 6.1 什么是面向对象 96 6.1.1 面向对象编程的特点 96 6.1.2 面向对象编程与面向过程编程的区别 97 6.2 什么是类 97 6.2.1 类的定义和对象的创建 97 6.2.2 如何使用现有类 99 6.2.3 ...

    mybatis学习笔记

    1.1.2 jdbc编程步骤: 2 1.1.3 jdbc问题总结如下: 3 1.2 MyBatis介绍 3 1.3 Mybatis架构 3 1.4 mybatis下载 4 1.5 创建mysql数据库 5 1.6 Mybatis入门程序 5 1.6.1 需求 5 1.6.2 第一步:创建java工程 6 1.6.3 第二...

    vc++6.0 程序设计学与用教程

    主要包括Java编程基础知识、Java算术运算符、Java编程语法、面向对象程序设计基本概念、系统类的使用和应用、图形用户界面设计、图形处理、多媒体处理、异常处理、多线程、网络编程、输入输出处理与序列化、Java本机...

    疯狂JAVA讲义

    7.4.1 List接口和ListIterator接口 261 7.4.2 ArrayList和Vector实现类 264 7.4.3 固定长度的List 266 7.5 Queue接口 266 7.5.1 LinkedList实现类 266 7.5.2 PriorityQueue实现类 269 7.6 Map 270 7.6.1 ...

    java初学者必看

    16.3.2 JDBC常见接口和类 16.3.3 JDBC数据库连接步骤 16.3.4 加载JDBC驱动程序 16.3.5 获取Connection连接对象 16.4 Java与各种数据库连接 16.5 本章习题 第17章 Java Web应用——JSP 17.1 JSP技术概述 17.2...

    基于java和jsp的聊天系统完整源码(含配套jsp网站)

    这套系统附带所有源代码,对于喜欢java编程以及JSP网页制作和网站设计以及tomcat的使用的同 学很有帮助! 对怎样用exe4j和inno setup制作软件安装包,怎样用eclipse等都是非常有益的。使用说明中有详细的步骤,一...

    JAVA语言程序设计课程标准.doc

    "10% "装箱、拆箱、集合及泛型 "作业提交及代码评审 " " "7 "JDBC "1、使用JDBC操作数据库 2、JDBC事务 "12% "操作数据库、事务 "笔试或在线考试 "12% "JDBC访问数据库步骤、JDBC事务 "作业提交及代码评审 " " "8 ...

    javaSE代码实例

    16.1.1 多线程编程的意义 343 16.1.2 定义自己的线程 344 16.1.3 创建线程对象 345 16.1.4 启动线程 347 16.1.5 同时使用多个线程 348 16.2 线程的状态 350 16.3 线程的调度 351 16.3.1 睡眠 351 ...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    作者通过总结各自多年的软件开发和教学培训经验,与大家分享了掌握Oracle SQL所独有的丰富功能的技巧所在,内容涵盖SQL执行、联结、集合、分析函数、子句、事务处理等多个方面。读者可以学习到以下几个方面的技巧:...

Global site tag (gtag.js) - Google Analytics