zoukankan      html  css  js  c++  java
  • JDBC入门

    什么是JDBC

    JDBC全称Java Database Connectivity。Java数据库连接。

    JDBC是一组API,各数据库厂商提供自己的实现类,也就是数据库驱动。

    这样Java程序猿就能够使用同一种API操作不同的数据库。须要做的仅仅是导入对应的数据库驱动。



    JDBC做了什么事

    (1)连接数据库

    (2)运行SQL语句

    (3)处理返回结果



    JDBC API简单介绍

    1. DriverManager

    主要用于获取Connection对象。


    2. Connection

    代表数据库连接对象,每一个Connection代表一个物理连接会话。要訪问数据库,必须先获取数据库连接。


    3. Statement

    用于运行SQL语句。


    4. PreparedStatement

    PrepatedStatement是Statement的子接口。


    5. ResultSet

    结果集对象。

    当中包括了訪问查询结果集的方法。



    JDBC入门编程步骤

    package com.weiheli;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class JdbcDemo001 {
    
    	public static void main(String[] args) throws SQLException {
    		try {
    			// 第一步、载入数据库驱动
    			Class.forName("com.mysql.jdbc.Driver");
    			// 第二步、连接数据库
    			Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
    			// 第三步、得到Statement对象
    			Statement stmt = conn.createStatement();
    			// 第四步、发送SQL语句
    			ResultSet rs = stmt.executeQuery("select * from company");
    			// 第五步、操作结果集
    			while(rs.next()) {
    				System.out.println(rs.getInt(1) + " " + rs.getString(2));
    			}
    		} catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    
    }
    


    java.sql和com.mysql.jdbc

    在编写上面的代码时,发现Connection和Statement会出如今两个包中:java.sql和com.mysql.jdbc,该导入哪个?这两个包的关系是:

    com.mysql.jdbc.Connection extends java.sql.Connection
    com.mysql.jdbc.Statement extends java.sql.Statement 

    可能是com.mysql.jdbc.*对java.sql.*做了优化。

    但使用java.sql.*没有兼容性问题。


    总结

    至此,JDBC已经入门。

    接下来。会介绍JDBC的各种高级特性。

    下篇预告:JDBC高级



  • 相关阅读:
    Code Forces 650 C Table Compression(并查集)
    Code Forces 645B Mischievous Mess Makers
    POJ 3735 Training little cats(矩阵快速幂)
    POJ 3233 Matrix Power Series(矩阵快速幂)
    PAT 1026 Table Tennis (30)
    ZOJ 3609 Modular Inverse
    Java实现 LeetCode 746 使用最小花费爬楼梯(递推)
    Java实现 LeetCode 745 前缀和后缀搜索(使用Hash代替字典树)
    Java实现 LeetCode 745 前缀和后缀搜索(使用Hash代替字典树)
    Java实现 LeetCode 745 前缀和后缀搜索(使用Hash代替字典树)
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7110354.html
Copyright © 2011-2022 走看看