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高级



  • 相关阅读:
    eclipse的maven配置及本地仓库配置
    协方差矩阵计算方法
    马氏距离
    Python中的相对路径
    Pytorch中的LSTM和LSTMCell
    The Unreasonable Effectiveness of Recurrent Neural Networks
    RNN的灵活性
    LSTM和GRU
    Nesterov Accelerated Gradient
    Wasserstein GAN最新进展:从weight clipping到gradient penalty,更加先进的Lipschitz限制手法
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7110354.html
Copyright © 2011-2022 走看看