• 今日收获


    一、JDBC简介

    JDBC(java database connectivity),是sun公司指定的java数据库连接技术的简称。

    它是Java程序操作数据库的API,是Java操作数据库的规范,由一组用Java语言编写的类和接口组成,他对数据库的操作提供了基本方法,但对于数据库的细节操作由数据库厂商进行实现。JDBC实际上有两组API,一组面向java应用程序开发人员,另一组是面向数据库驱动程序开发人员的,一般都是数据驱动程序开发人员利用后面一组API开发出供应程序开发人员使用的API。

    我们需要熟悉包java.sql.*中定义的类(class),接口(interface),例外(expection),并且能够灵活使用他们,就能够发挥出JDBC强大的功能。


    二、JDBC连接数据库的过程

    1.注册数据库驱动

    Class.forName("com.mysql.jdbc.Driver");

    2.构建数据库连接URL

    3.获取Connection对象

    Connection connection = DriverManager.getConnection(url:"jdbc:mysql://localhost:3306/xxx",user:"root",password:"root");

     

    三、实例

    复制代码
    复制代码
     1 public class JDBCTest {
     2     public static Connection getConnection() throws SQLException,
     3     java.lang.ClassNotFoundException
     4     {
     5     //第一步:加载MySQL的JDBC的驱动
     6     Class.forName("com.mysql.jdbc.Driver");
     7     
     8     //取得连接的url,能访问MySQL数据库的用户名,密码;jsj:数据库名
     9     String url = "jdbc:mysql://localhost:3306/fuck";
    10     String username = "root";
    11     String password = "861113";
    12     
    13     //第二步:创建与MySQL数据库的连接类的实例
    14     Connection con = DriverManager.getConnection(url, username, password);
    15     return con;
    16     }
    17     
    18     
    19     public static void main(String args[]) {
    20     try
    21     {
    22     //第三步:获取连接类实例con,用con创建Statement对象类实例 sql_statement
    23     Connection con = getConnection();
    24     Statement sql_statement = con.createStatement();
    25     
    26     //如果同名数据库存在,删除
    27     //sql_statement.executeUpdate("drop table if exists student");
    28     //执行了一个sql语句生成了一个名为student的表
    29     //sql_statement.executeUpdate("create table student (id int not null auto_increment, name varchar(20) not null default 'name', math int not null default 60, primary key (id) ); ");
    30     
    31     //向person表中插入数据
    32     sql_statement.executeUpdate("insert person values(3, 'liying', 98)");
    33     sql_statement.executeUpdate("insert person values(4, 'jiangshan', 88)");
    34     sql_statement.executeUpdate("insert person values(5, 'wangjiawu', 78)");
    35     sql_statement.executeUpdate("insert person values(6, 'duchangfeng', 100)");
    36     
    37     //第四步:执行查询,用ResultSet类的对象,返回查询的结果
    38     String query = "select * from person";
    39     ResultSet result = sql_statement.executeQuery(query);
    40     
    41     //显示数据中person表中的内容:
    42     System.out.println("person表中的数据如下:");
    43     System.out.println("------------------------");
    44     System.out.println("序号" + " " + "姓名" + " " + "分数");
    45     System.out.println("------------------------");
    46     
    47     //对获得的查询结果进行处理,对Result类的对象进行操作
    48     while (result.next())
    49     {
    50     int number = result.getInt("number");
    51     String name = result.getString("name");
    52     String mathsorce = result.getString("mathsorce");
    53     
    54     //取得数据库中的数据
    55     System.out.println(" " + number + " " + name + " " + mathsorce);
    56     }
    57     
    58     //关闭连接和声明
    59     sql_statement.close();
    60     con.close();
    61     
    62     } catch(java.lang.ClassNotFoundException e) {
    63     System.err.print("ClassNotFoundException");
    64     System.err.println(e.getMessage());
    65     } catch (SQLException ex) {
    66     System.err.println("SQLException: " + ex.getMessage());
    67     }
    68     }
    69     
    70     }
    复制代码
  • 相关阅读:
    关于最近邻的噪声标签建模论文简读
    半监督+无监督的噪声标签问题建模文章简读
    Redis 常用操作命令
    Java:Bytes转short、int、long
    Java:网络通信Netty接收包示例
    Java之中如何判断CPU是大端(Big Endian)还是小端(Little Endian)
    Python2.7:字符转UFT8、GBK、BIG5并得到bytes
    进藏前如何防止高原反应
    《针对空间分析的Python基础教程》Python Foundation for Spatial Analysis (Full Course Material)
    通过注册表查询获取arcgis pro版本号
  • 原文地址:https://www.cnblogs.com/feng747/p/14185832.html
Copyright © 2020-2023  润新知