zoukankan      html  css  js  c++  java
  • 【Java】高阶使用JDBC

       JDBC API允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据。

      执行流程:

      1)连接数据源,如:数据库

      2)为数据库传递查询和更新指令

      3)处理数据库响应并返回的结果。

      JDBC英文名为:Java Data Base Connectivity(Java数据库连接),官方解释它是Java编程语言和广泛地数据库之间独立于数据库的连接标准的Api.

      工作原理图:

      常用接口
      提供的接口包括:JAVA Api:提供对JDBC的管理连接;Java Driver Api:支持JDBC管理到驱动器连接。

      DriverManager:这个类管理数据库驱动程序的列表,查看加载的驱动是否符合JAVA Driver Api的规范。

      Connection:与数据库中的所有通信是通过唯一的连接对象。

      Statement:把创建的sql对象,转而存储到数据库当中。

      ResultSet:它是一个迭代器,用户检索查询数据。

      操作流程图

       JDBC编程步骤

       加载驱动程序;

    Class.forName(driverClass)
    //加载MySql驱动
    Class.forName("com.mysql.jdbc.Driver")
    //加载Oracle驱动
    Class.forName("oracle.jdbc.driver.OracleDriver")

      获得数据库连接:

    DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/BullMan", "root", "root");

      创建Statement/PreparedStatement对象:

    conn.createStatement();
    conn.prepareStatement(sql);

      完整实例

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    public class DbUtil {
    
        public static final String URL = "jdbc:mysql://localhost:3306/imooc";
        public static final String USER = "liulx";
        public static final String PASSWORD = "123456";
    
        public static void main(String[] args) throws Exception {
            //1.加载驱动程序
            Class.forName("com.mysql.jdbc.Driver");
            //2. 获得数据库连接
            Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
            //3.操作数据库,实现增删改查
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT user_name, age FROM imooc_goddess");
            //如果有数据,rs.next()返回true
            while(rs.next()){
                System.out.println(rs.getString("user_name")+" 年龄:"+rs.getInt("age"));
            }
        }
    }

      

      

    分享链接:

    工作之余,开了一个淘宝小店,分别销售日常必备生活用品,期待您的光临!点击下图,跳转店铺首页!
  • 相关阅读:
    LeetCode 104
    LeetCode 100
    LeetCode 27
    LeetCode 7
    LeetCode 8
    蘑菇街2017春招笔试
    codeforces 5D
    codeforces 5C
    codeforces 875B
    codeforces 876B
  • 原文地址:https://www.cnblogs.com/xjf125/p/15024775.html
Copyright © 2011-2022 走看看