`
kingbinchow
  • 浏览: 124781 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JDBC连接数据库(上)

    博客分类:
  • java
 
阅读更多
  •创建一个以JDBC连接数据库的程序:   
1、加载JDBC驱动程序   
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),   
    这通过java.lang.Class类的静态方法forName(String  className)实现。   
    例如:   
  
 try{    
    //加载MySql的驱动类    
    Class.forName("com.mysql.jdbc.Driver") ;    
    }catch(ClassNotFoundException e){    
    System.out.println("找不到驱动程序类 ,加载驱动失败!");    
    e.printStackTrace() ;    
    }    
   成功加载后,会将Driver类的实例注册到DriverManager类中。   

2、提供JDBC连接的URL
   •连接URL定义了连接数据库时的协议、子协议、数据源标识。   
    •书写形式:协议:子协议:数据源标识   
    协议:在JDBC中总是以jdbc开始   
    子协议:是桥连接的驱动程序或是数据库管理系统名称。   
    数据源标识:标记找到数据库来源的地址与连接端口。   
    例如:(MySql的连接URL)   
   
URL ="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk";  
 
   useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为   
   gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。   

3、创建数据库的连接      
•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。   
•使用DriverManager的getConnectin(String url , String username ,String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。   
     例如:   
     //连接MySql数据库,用户名和密码都是root   
 
String url = "jdbc:mysql://localhost:3306/test";
		String username = "root";
		String password = "root";
		try {
			Connection con = DriverManager.getConnection(url, username,
					password);
		} catch (SQLException se) {
			System.out.println("数据库连接失败!");
			se.printStackTrace();
		}
  

4、创建一个Statement       
•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下
      3种类型:   
      1)、执行静态SQL语句。通常通过Statement实例实现。   
      2)、执行动态SQL语句。通常通过PreparedStatement实例实现。   
      3)、执行数据库存储过程。通常通过CallableStatement实例实现。   
    具体的实现方式:   
       
Statement stmt = con.createStatement() ;    
       PreparedStatement pstmt = con.prepareStatement(sql) ;    
       CallableStatement cstmt =     
        con.prepareCall("{CALL demoSp(? , ?)}") ;  
 
5、执行SQL语句   
    Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute。   
    1)、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。   
     2)、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等   
     3)、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。   
   具体实现的代码:   
    
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;    
    int rows = stmt.executeUpdate("INSERT INTO ...") ;    
    boolean flag = stmt.execute(String sql) ; 
  
6、处理结果  
    两种情况:   
     1)、执行更新返回的是本次操作影响到的记录数。   
     2)、执行查询返回的结果是一个ResultSet对象。   
    • ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。   
    • 使用结果集(ResultSet)对象的访问方法获取数据:   
    
while(rs.next()){    
         String name = rs.getString("name") ;    
    String pass = rs.getString(1) ; // 此方法比较高效    
     }   

    (列是从左到右编号的,并且从列1开始)
  
7、关闭JDBC对象    
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:   
     1、关闭记录集   
     2、关闭声明   
     3、关闭连接对象   
        
 if (rs != null) { // 关闭记录集
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if (stmt != null) { // 关闭声明
			try {
				stmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if (conn != null) { // 关闭连接对象
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}




总上述说,代码事例为:

String Driver = "com.mysql.jdbc.Driver"; // 驱动程序
		String URL = "jdbc:mysql://localhost:3306/test"; // 连接的URL,test为数据库名,注意修改编码类型
		String Username = "root"; // 用户名
		String Password = "root"; // 密码
		Connection conn;
		try {
			try {
				Class.forName(Driver).newInstance();
			} catch (InstantiationException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IllegalAccessException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			conn = DriverManager.getConnection(URL, Username, Password);
			Statement stmt = (Statement) conn.createStatement();

			String query = "select * from test.crm_customers";

			ResultSet rs = stmt.executeQuery(query);

			while (rs.next())

			{
				System.out.println(rs.getString(1));
				System.out.println(rs.getString(2));
			}
			if (rs != null) { // 关闭记录集
				try {
					rs.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if (stmt != null) { // 关闭声明
				try {
					stmt.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if (conn != null) { // 关闭连接对象
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
分享到:
评论

相关推荐

    JDBC连接数据库测试

    JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试...

    JDBC连接数据库步骤

    jdbc java 数据库 连接数据库 步骤

    JDBC连接数据库方法文档

    JDBC 连接数据库方法文档 JDBC(Java Database Connectivity)是 Java 语言中用于连接数据库的标准 API。它提供了一种统一的方式来访问各种类型的数据库,包括关系数据库、对象数据库和文本数据库等。下面是 JDBC ...

    JDBC连接数据库步骤及代码

    ### JDBC连接数据库步骤详解 #### 一、简介 在Java开发中,经常需要与数据库进行交互,例如查询数据、更新数据等操作。为了方便开发者进行这些操作,Sun公司推出了一套标准的Java访问数据库的API——Java Database...

    jdbc连接数据库步骤

    对于初学者来说,理解JDBC连接数据库的基本步骤至关重要。以下是详细解释这些步骤的知识点: 1. 加载JDBC驱动程序: 在连接数据库之前,首先需要在Java虚拟机(JVM)中加载对应的数据库驱动程序。这一步是通过使用...

    jsp中jdbc数据库连接

    jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc...

    JDBC连接数据库工具类

    JDBC连接数据库工具类 JDBC 连接数据库 ORACLE SQLSERVER MYSQL ORACLE 已测 OK 欢迎大家反馈 我的微博是: http://weibo.com/namenode

    JDBC连接数据库各种数据库参数大全

    ### JDBC连接数据库各种数据库参数详解 #### 一、Oracle8/8i/9i数据库(thin模式) 在Java中通过JDBC访问Oracle数据库时,通常采用thin驱动方式。thin驱动是一种纯Java驱动,无需依赖任何非Java代码即可完成与...

    JDBC连接数据库JDBC连接数据库.ppt

    JDBC连接数据库JDBC连接数据库

    JDBC连接数据库代码大全

    JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一种API。它提供了一种标准的方式来访问和操作数据库,使得开发人员无需关心具体的数据库实现细节,就能执行SQL语句并处理结果。JDBC...

    第五章 JDBC连接数据库.pdf

    本章主要针对如何使用JDBC连接Oracle数据库,提供了详细步骤说明,适用于教学及实际开发中的应用。JDBC允许Java程序执行SQL语句,适用于多种关系型数据库,如Oracle、MySQL、SQL Server等。 首先,JDBC连接Oracle...

    jdbc连接数据库jdbc连接数据库

    "JDBC 连接数据库" JDBC(Java Database Connectivity)是一种Java API,用于连接数据库,并执行 SQL 语句以访问和操作数据库中的数据。JDBC API 由java.sql包提供,包括了 Connection、Statement、ResultSet 等...

    eclipse JDBC连接数据库及jsp操作数据库数据详细教程.docx

    eclipse JDBC连接数据库及jsp操作数据库数据详细教程 本教程旨在指导读者如何使用Eclipse、JDBC和JSP来连接数据库并操作数据库数据。整个教程分为三部分:安装准备工作、安装Tomcat和MyEclipse、配置JDBC连接数据库...

    JDBC连接数据库 PPT

    JDBC 连接数据库 PPT 一些基本的连接数据库 代码

    java实例jdbc连接数据库大全.doc

    JDBC连接数据库的基本步骤包括: 1. 加载数据库驱动:`Class.forName(driverClassName);` 2. 创建数据库连接:`Connection conn = DriverManager.getConnection(url, username, password);` 3. 获取Statement或...

    PG-java jdbc连接数据库

    本篇文章将深入探讨如何使用JDBC连接PG数据库,以及实现数据的增删改查操作。 首先,我们需要了解JDBC的基本概念。JDBC是Java程序访问数据库的一组接口和类,它允许开发者使用SQL语句来操作数据库。JDBC提供了一个...

    JDBC连接数据库的驱动包

    java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC连接数据库的驱动包java JDBC...

    常用的jdbc连接数据库架包jar

    "常用的jdbc连接数据库架包jar"指的是包含不同数据库驱动的Java类库,这些驱动使得Java程序能够通过JDBC API与Oracle、DB2、SQLServer和MySQL等主流数据库建立连接。下面我们将详细探讨这些数据库以及它们对应的JDBC...

    Java中JDBC连接数据库详解

    Java中JDBC连接数据库详解 Java中JDBC连接数据库详解是指Java程序使用JDBC(Java Database Connectivity)来连接和操作数据库的过程。JDBC是一种Java API,用于连接和操作数据库,它提供了一套标准化的接口,允许...

Global site tag (gtag.js) - Google Analytics