`
罗春桉
  • 浏览: 16494 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

JDBC学习总结

阅读更多
                                                              Java如何连接数据库?

    使用JDBC能够帮助你连接数据库,并调用、处理数据库中的数据。那么,什么是JDBC呢?
  
   一、原理要点概述:

    1,JDBC全称Java Data Base Connectivity即java数据库连接。JDBC本质上是一套协议(即一组Java语言编写的类和接口),是JAVA开发人员和数据库厂商达成的协议,也就是由Sun定义一组接口,由数据库厂商来实现,并规定了JAVA开发人员访问数据库所使用的方法的调用规范。它使得程序员能通过继承JDBC接口,实现对各种关系数据库的访问。从而可以使得不同的数据库能运行于同一个平台上。

    2,JDBC的实现是由数据库厂商提供,以驱动程序形式提供(驱动开发必须实现Driver接口)。

    3,JDBC在使用前要先加载驱动。 JDBC对于使用者要有一致性,对不同的数据库其使用方法都是相同的。
  
   二、利用JDBC实现与数据库的连接步骤:

    1.首先加载驱动类,并初始化驱动类
      在加载某一 Driver 类时,它应该创建自己的实例并向 DriverManager 注册该实例。这样用户才能调用DriverManager(驱动管理器类)创建连接。可以认为DriverManager本身就是一个创建Connection的工厂。
      方法:1)Class.forName("com.mysql.jdbc.Driver").newInstance();//"驱动类所在的包名.Driver"可以不要.newInstance();
              2)com.mysql.jdbc.Driver driver=new com.mysql.jdbc.Driver();
              3)直接new com.mysql.jdbc.Driver();
  
   2.获取数据库的连接对象
      Connection conn= java.sql.DriverManager.getConnection(url,user,password);
     其中:
          1)url指数据库的连接路径,如"jdbc:mysql://localhost:3306/BlogV1";jdbc后面分别指数据库类型、IP地址、端口号、数据库名
         2)user指Mysql数据库的用户名,如:;
         3)password指Mysql数据库的密码;
         4)DriverManager为数据库驱动管理器(类),它实现

   3.创建一个SQL执行对象Statement(或PreparedStatement)向数据库发送sql语言
     1)无参数的sql语言:String sql="select * from userinfo";
                                           java.sql.Statement stmt=conn.createStatement();
     2)含参数的sql语言:String sql = "insert into bloginfo(b_ID,title,author,artical) values(?,?,?,?)";
                                            java.sql.PreparedStatement pstmt = conn.prepareStatement(sql);

   4.执行SQL语句,并返回结果集:
      1)无结果集:ResultSet rs=SQL执行对象.executeUpdate();
      2)含结果集:ResultSet rs=SQL执行对象.executeQuery();

   5.处理结果集
      判断rs中是否含有结果集:rs.next();
      取出rs中的数据如:rs.getString("name")、rs.getInt(1)、rs.getInt("blogLev")

   6.关闭SQL语句执行对象Stament(PreparedStatement)
   
   7.关闭数据库连接对象Connection

   注意:其中6、7步不可少。因为如果不关闭Statement对象,它们会一直占用服务器资源,直到JAVA垃圾收集程序来回收它。作为一种好的编程风格,应在不需要Statement对象时显示式地关闭它们,这将立即释放服务器资源,有助于避免潜在的内存问题。同样,使用完整数据库连接后,就应关闭它,释放连接所占用的数据库资源。;
   三、代码实现如下:
  
package cn.netjava.db;
import java.sql.SQLException;
public class DataBase {
	//测试能否连接上数据库
	public static void main(String args[]) {
    //创建一个DataBase对象
	DataBase db=new DataBase();
    //得到连接对象
	java.sql.Connection conn=db.getConnection();
	//执行SQL语句
	String sql="select * from userinfo";
	try{
		//由连接对象得到数据库的SQL执行对象
		java.sql.Statement stmt=conn.createStatement();
		//执行SQL语句,并得到返回的结果集
		java.sql.ResultSet rs=stmt.executeQuery(sql);
		//遍历结果集1?
		while(rs.next()){
			System.out.println("ID:"+rs.getInt(1)+"  ");
            System.out.println("姓名:"+rs.getString("name")+"  ");
            System.out.println("密码:"+rs.getString("pwd")+"  ");
            System.out.println("性别:"+rs.getString("sex")+"  ");
            System.out.println("地址:"+rs.getString("address")+"  ");
            System.out.println("邮箱:"+rs.getString("email")+"  ");
            System.out.println("博客名字:"+rs.getString("blogName")+"  ");
            System.out.println("博客等级:"+rs.getInt("blogLev")+"  ");
            System.out.println("博客浏览量:"+rs.getInt("blogView"));
		}
		//依次关闭结果集、sql执行对象和数据库连接
		rs.close();
		stmt.close();
		conn.close();
	}catch(Exception ef){
		ef.printStackTrace();}
	}

	/**
	 * 取得数据库连接对象的方法
	 * 
	 * @return:返回一个数据库连接对象
	 */
	public java.sql.Connection getConnection() {
		java.sql.Connection conn = null;
		if (conn == null) {
			// 连接数据库URL地址
			String url = "jdbc:mysql://localhost:3306/blogv1";
			// 连接数据库的用户名
			String user = "root";
			// 连接数据库的密码
			String password = "lcan";
			try {
				// 创建连接数据库的驱动类对象:应用了java反射技术
				Class.forName("com.mysql.jdbc.Driver");
				// 根据驱动管理类,得到数据库的连接对象
				conn = java.sql.DriverManager
						.getConnection(url, user, password);
			} catch (ClassNotFoundException e){
				//捕捉Class.forname的异常
				e.printStackTrace();
			} catch (SQLException e) {
				//捕捉得到连接对象时产生的异常
				e.printStackTrace();
			}
		}
		return conn;
	}
}

JDBC示意图:


    整理于2011.01.18
   (待完善-->JDBC反射原理,数据库连接池原理)
  • 描述: JDBC示意图
  • 大小: 27.9 KB
分享到:
评论
1 楼 snow_love 2011-09-01  
嗯,总结的不错,顶

相关推荐

    标日初级总结笔记JDBC学习总结笔记.pdf

    标日初级总结笔记JDBC学习总结笔记.pdf

    java——jdbc学习总结

    Java JDBC (Java Database Connectivity) 是Java编程语言中用于与各种数据库进行交互的一套标准API。JDBC 提供了一种统一的接口,使得开发者无需关心具体的数据库类型,就能够编写数据库访问代码,大大提高了代码的...

    JDBC学习笔记总结,可以看看

    "JDBC学习笔记总结" JDBC(Java Database Connectivity)是一种Java API,用于连接和操作关系数据库。下面是JDBC学习笔记的总结: 连接到数据库的方法 1. ODBC(Open Database Connectivity):是一个以C语言为...

    jdbc学习笔记(PDF格式)

    ### JDBC学习笔记知识点详解 #### 一、JDBC原理概述 **JDBC**(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC...

    jdbc学习笔记完美版

    JDBC(Java Database Connectivity)是Java...通过学习JDBC,开发者能够有效地在Java应用程序中集成数据库功能,实现数据的增删改查以及与存储过程的交互。理解和掌握这些知识对于成为一名合格的Java开发人员至关重要。

    JDBC学习资料 jdbc编程

    总结,JDBC是Java中用于数据库操作的重要工具,提供了统一的API来处理不同数据库的连接、SQL执行和结果处理。而事件模型则是GUI编程中处理用户交互的关键概念,两者都是Java开发中不可或缺的部分。

    JDBC学习文档

    ### JDBC学习文档知识点详解 #### 一、JDBC概述与基本概念 JDBC(Java Database Connectivity)是Java中用于操作数据库的一种标准API,它提供了一系列的接口和类,允许Java程序连接并操作各种类型的数据库系统。...

    JDBC Hibernate学习笔记

    ### JDBC与Hibernate学习笔记 #### 一、JDBC概述 **1.1 ODBC与JDBC的区别** - **ODBC(Open Database Connectivity)**: 开放式数据库连接是一种开放标准的应用程序接口(API),用于实现数据库应用程序与不同...

    JDBC学习资料

    这份“JDBC学习资料”涵盖了JDBC的基础知识,非常适合初学者深入理解和掌握。 首先,JDBC的核心组件包括驱动程序管理器、数据库驱动程序、连接(Connection)、Statement、PreparedStatement、CallableStatement...

    Jdbc学习小资料PPT

    **JDBC概述** JDBC(Java Database Connectivity)是Java编程语言与各种数据库之间进行交互的一组接口和类,它是Java标准版...通过学习JDBC,开发者可以编写出高效、健壮的数据访问代码,实现与各种数据库的无缝对接。

    JDBC笔记_JDBC学习笔记_

    在本篇JDBC学习笔记中,我们将深入探讨JDBC的基础知识、核心概念以及实际应用。 一、JDBC基础 1. JDBC驱动程序:JDBC驱动是连接Java应用程序和数据库之间的桥梁。根据实现方式,JDBC驱动分为四种类型:类型1(JDBC...

    jdbc问题集收藏总结

    ### JDBC问题集锦与解决方案 #### 一、ResultSet的理解与使用 **问题描述:** 在使用JDBC过程中,经常需要处理查询结果集`ResultSet`。`ResultSet`对象表示执行SQL语句后返回的结果集,它提供了对结果集中数据的...

    JDBC学习手册完整版

    ### JDBC学习手册知识点详解 #### 一、JDBC概述 - **定义与作用**:JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口...

    Java JDBC 编程知识全面总结 一张图搞定!

    全面的 Java JDBC 编程学习知识总结 一张图搞定! 结构性强,便于记忆! 资源博客:https://blog.csdn.net/CodeYearn/article/details/89196038

    jdbc基础知识总结

    ### JDBC基础知识总结 #### 一、概述 JDBC(Java Database Connectivity)是一种标准的Java API,用于连接并操作各种类型的数据库。它从物理结构上说就是一套Java语言访问数据库的接口集合,本质上则是调用者...

    超经典的jdbc学习笔记

    总结,这份"超经典的JDBC学习笔记"全面覆盖了JDBC的基础知识、安全实践以及设计模式的应用。通过学习,开发者不仅可以掌握JDBC的基本用法,还能了解到如何在实际项目中安全、高效地使用数据库,提升系统安全性与性能...

    jdbc学习和帮助文档...

    ### JDBC学习和帮助文档知识点详解 #### 一、JDBC简介 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它可以为多种关系型数据库提供统一访问,这使得Java开发人员能够以一种数据库无关的...

    JDBC学习笔记第十一篇

    **JDBC学习笔记第十一篇** 在Java开发中,JDBC(Java Database Connectivity)是一个重要的接口,它允许Java程序与各种数据库进行交互。本篇学习笔记将深入探讨JDBC的使用,特别是基于JDBC v2.0版本的工具类`...

Global site tag (gtag.js) - Google Analytics