当前位置 : 主页 > 网络编程 > 其它编程 >

Java学习笔记—JDBC(JavaDatabaseConnectivity)JDBC基础(一)

来源:互联网 收集:自由互联 发布时间:2023-07-02
一、知识归纳:1.JDBC的作用:Java获取数据库中的数据或者将数据存储到数据库中2.JDBC是什么:Java操作数据库技术,一套API3.JDBC的操作数据库过程a)加 一、知识归纳: 1.JDBC的作用:Java获
一、知识归纳:1.JDBC的作用:Java获取数据库中的数据或者将数据存储到数据库中2.JDBC是什么:Java操作数据库技术,一套API3.JDBC的操作数据库过程a)加

一、知识归纳:  1.JDBC的作用:Java获取数据库中的数据或者将数据存储到数据库中  2.JDBC是什么:Java 操作数据库技术,一套API  3.JDBC的操作数据库过程    a)加载驱动(前提:需要将对于的jar包添加到项目中)    Class.forName("驱动类");    b)建立与数据库的连接      Connection cOnn= DriverManger.getConnection(url,username,password);    c)创建声明对象      Statement stmt = conn.createStatement();    d)执行SQL语句(创建结果集对象)      String sql="SQL语句"      ResultSet rs = stmt.executeQuery(sql); //在执行的时候需要提供SQL语句      [int rows = stmt.executeUpdate(sql) ;]    e)解析结果集      while(rs.next()){        rs.getXXX("字段名") //表示获取当前行中该字段的值      }    f)关闭      关闭结果集对象 rs.close();      关闭声明对象stmt.close();      关闭连接对象conn.close();  4.预处理语句    String sql="SQL语句";    PreparedStatement pstmt = conn.preparedStatement(sql);    pstmt.setXXX(index, 值);    pstmt.executeQuery();    [int rows = pstmt.executeUpdate() ;]  5.import     java.sql.Connection:连接    class MySqlConnection implements Connection{        //具体实现Mysql数据库的连接过程    }    java.sql.Statement:执行sql语句的    java.sql.ResultSet:结果集    java.sql.PreparedStatement:建立预处理语句的      小结:如果需要操作具体某个数据库则需要下载对应的驱动包

二、JDBC(Java DataBase Connectivity Java数据库连接)  JDBC是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问,它由一组用Java语言编写的类和接口组成。  JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。三、JDBC体系结构  JDBC API支持用于数据库访问的两层和三层处理模型,但通常,JDBC体系结构由两层组成:  JDBC API:这提供了应用程序到JDBC管理器连接。  JDBC驱动程序API:这支持JDBC管理器到驱动程序连接。四、通用JDBC 组件?   DriverManager: 此类管理数据库驱动程序列表。使用通信子协议将来自java应用程序的连接请求与适当的数据库驱动程序匹配。?   Driver:此接口处理与数据库服务器的通信。通常很少会直接与Driver对象进行交互,而是使用DriverManager对象来管理这种类型的对象。?   Connection:该界面具有用于联系数据库的所有方法。连接对象表示通信上下文,即,与数据库的所有通信仅通过连接对象。?   Statement:使用从此接口创建的对象将SQL语句提交到数据库。除了执行存储过程之外,一些派生接口还接受参数。?  ResultSet:在使用Statement对象执行SQL查询后,这些对象保存从数据库检索的数据。它作为一个迭代器,允许我们移动其数据。?   SQLException:此类处理数据库应用程序中发生的任何错误。

五、抽出工具(Properties文件)  driverClass = com.mysql.jdbc.Driver  url = jdbc:mysql://localhost:3306/数据库  username = root  password = 123456  //读取Properties文件中的内容  public class Lesson {    public static void main(String[] args) {    Properties p = new Properties();    InputStream is = Lesson.class.getClassLoader().getResourceAsStream("jdbc.properties");    try {      p.load(is);      String driver = p.getProperty("driverClass");      System.out.println(driver);      } catch (IOException e) {        e.printStackTrace();      }    }  }

六、封装工具类(JdbcUtils)  package com.jdbc.util;

  import java.io.IOException;  import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.ResultSet;  import java.sql.SQLException;  import java.sql.Statement;  import java.util.Properties;

  /**   * 实现对JDBC的封装   */  public class JdbcUtils {    private static String driverName;    private static String url;    private static String username;    private static String password;

    static {      Properties p = new Properties();    try {      p.load(JdbcUtils.class.getClassLoader().getResourceAsStream("jdbc.properties"));      driverName = p.getProperty("driverClass");      url = p.getProperty("url");      username = p.getProperty("username");      password = p.getProperty("password");

      Class.forName(driverName);// 在JVM的内存中创建一个Driver对象

      } catch (IOException e) {        e.printStackTrace();      } catch (ClassNotFoundException e) {        e.printStackTrace();      }    }

   // 获取连接对象   public static Connection getConnection() {     Connection cOnn= null;     // 实现连接对象的创建     try {        cOnn= DriverManager.getConnection(url, username, password);       } catch (SQLException e) {        e.printStackTrace();      }      return conn;     }

    // 关闭操作    public static void closeRs(ResultSet rs) {      try {        if (rs != null) {          rs.close();        }       } catch (SQLException e) {         e.printStackTrace();      }    }

    public static void closeStmt(Statement stmt) {      try {         if (stmt != null) {          stmt.close();         }        } catch (SQLException e) {          e.printStackTrace();        }       }

    public static void closeConn(Connection conn) {       try {         if (conn != null) {            conn.close();          }        } catch (SQLException e) {          e.printStackTrace();        }    }

    public static void closeAll(ResultSet rs, Statement stmt, Connection conn) {      closeRs(rs);      closeStmt(stmt);      closeConn(conn);    }   }

【文章原创作者:建湖网站设计公司 http://www.1234xp.com/jianhu.html 提供,感恩】

上一篇:《咏怀古迹》翻译原文赏析诗人清余怀
下一篇:没有了
网友评论