zoukankan      html  css  js  c++  java
  • JDBC使用

    一 JDBC简介

    JDBC:全称 java-database-connection即用java语言去链接操作数据库。

    JDBC是Java制定的接口,数据库产商依照该接口编写与自家数据库配套的实现类。比如MySQL、Oracle、SqlServer等都有自己的不同实现,这些实现类的集合既是我们笼统意义上的“驱动”。

    二 如何使用

    步骤流程:

    1. 加载数据库驱动
    2. 获取链接connection
    3. 通过statement对象执行sql
    4. 获取返回结果

    使用代码如下:

    接入pom包

        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>8.0.11</version>
        </dependency>
       public static void insertData() {
            private String URL = "jdbc:mysql://localhost:port/databaseName?useUnicode=true&characterEncoding=UTF-8";
            private String USER = "xx";
            private String PASSWORD = "xx";
            
            Class.forName("com.mysql.jdbc.Driver");   //1 加载数据库驱动
            Connection connection = DriverManager.getConnection(URL,USER,PASSWORD); //    2 获取链接connection
            PreparedStatement preparedStatement = connection.prepareStatement("insert into test (name, sex) values (?,?)"); // 3 通过statement对象执行sql
            preparedStatement.setString(1, "xx");
            preparedStatement.setString(2, "yy");
            Boolean result = preparedStatement.execute();      // 4 获取返回结果
        }

    三 加载数据库驱动的几种方式

    方法1

    Class.forName("com.mysql.jdbc.Driver");  
    Class.forName 返回与给定的字符串名称相关联类或接口的Class对象 是一个静态方法,同样可以用来加载类
    com.mysql.jdbc.Driver类是mysql-connector-java驱动包下的一个类,如下图 我们可以看到加载com.mysql.jdbc.Driver类时会调其static静态代码块,里面有注册驱动的方法。
    源码如下:

    方法2

    import com.mysql.jdbc.Driver;
    
    DriverManager.registerDriver(new Driver());

    方法2的代码也会加载驱动,会加载两次驱动,里层参数new Driver() 的时候 会实例化加载com.mysql.jdbc.Driver类时会调其static静态代码块,里面有注册驱动的方法,外面DriverManager.registerDriver方法还会注册一遍。

    方法3

    经本人实验无意间发现,只要前面pom引入了mysql-connector-java这个包,什么都不写也会加载mysql数据库驱动,这是为什么呢,具体见下一篇博客详细讲来。

  • 相关阅读:
    高斯消元算法
    Fermat小定理的证明
    Pollard Rho 算法简介
    做一些无聊的题
    永远不要相信自己的傲慢
    笔记-数据结构进阶
    笔记-区间问题
    线段树板子
    [DarkBZOJ3694] 最短路
    [CF321D] Ciel and Flipboard
  • 原文地址:https://www.cnblogs.com/wanghongsen/p/12619888.html
Copyright © 2011-2022 走看看