资讯详情

【JAVA百炼成仙】JDBC连接MYSQL数据库

??这里是JAVA成仙之路 ??如果对你有帮助,给博主一个免费的表扬来鼓励 欢迎大家点赞评论收藏

文章目录

    • 什么是JDBC?
    • 在MAVEN中引入驱动
    • 连接数据库并进行测试
      • 加载驱动
      • 建立数据库连接
      • 执行查询句
      • 关闭数据库连接
    • 最后附上SQL类型对应的JAVA类型

什么是JDBC?

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java该语言用于规范客户端程序如何访问数据库的应用接口,并提供查询和更新数据库中数据的方法。JDBC也是Sun Microsystems商标。我们通常所说的JDBC面向关系数据库。

在MAVEN中引入驱动

  <dependencies>         <dependency>             <groupId>mysql</groupId>             <artifactId>mysql-connector-java</artifactId>             <version>8.0.28</version>         </dependency>      </dependencies> 

连接数据库并进行测试

  1. 加载驱动

  2. 建立数据库连接

  3. 执行相关语句

  4. 关闭连接

加载驱动

在JDBC其实8中会自动加载,这里还是按照规范演示一下。 代码如下:

public class Test { 
             public static void main(String[] args) throws SQLException, ClassNotFoundException { 
                 var a = Class.forName("com.mysql.cj.jdbc.Driver");         System.out.println(a);     } } 

结果:驱动加载成功 在这里插入图片描述

建立数据库连接

代码:

public class Test { 
             publc static void main(String[] args) throws SQLException, ClassNotFoundException { 
        
        //加载驱动
        var a = Class.forName("com.mysql.cj.jdbc.Driver");
        System.out.println(a);
        //连接数据库 localhost是连接本地IP,3307是数据库的端口,一般端口默认是3306,这里我的端口改过参考一下就可以。
        //test 是要连接的数据库名,root是账号,我没有设置密码所以不用写。
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/test?user=root");
        System.out.println(conn);
    }
}

结果:

执行查询语句

代码:

public class Test { 
        
    public static void main(String[] args) throws SQLException, ClassNotFoundException { 
        
        //加载驱动
        var a = Class.forName("com.mysql.cj.jdbc.Driver");
        System.out.println(a);
        //连接数据库 localhost是连接本地IP,3307是数据库的端口,一般端口默认是3306,这里我的端口改过参考一下就可以。
        //test 是要连接的数据库名,root是账号,我没有设置密码所以不用写。
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/test?user=root");
        System.out.println(conn);

        //创建SQL语句执行工具
        Statement st = conn.createStatement();
        //ResultSet的意思是结果集,查询返回的结果放在ResultSet对象中,结果集中有一个光标每次只指一行,并且是从第一行开始
        ResultSet rs = st.executeQuery("select * from user");
        //判断当前列是否有值
        //rs.next()rs中的光标向下移动一位
        while (rs.next()) { 
        
            //rs.getString将当前列作为String类型保存,参数为当前列的标签
            System.out.println(rs.getString("name"));
        }
    }
}

结果:

关闭数据库连接

public class Test { 
        
    public static void main(String[] args) throws SQLException, ClassNotFoundException { 
        
        //加载驱动
        var a = Class.forName("com.mysql.cj.jdbc.Driver");
        System.out.println(a);
        //连接数据库 localhost是连接本地IP,3307是数据库的端口,一般端口默认是3306,这里我的端口改过参考一下就可以。
        //test 是要连接的数据库名,root是账号,我没有设置密码所以不用写。
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/test?user=root");
        System.out.println(conn);

        //创建SQL语句执行工具
        Statement st = conn.createStatement();
        //查询sql语句返回一个ResultSet对象
        ResultSet rs = st.executeQuery("select * from user");
        //判断当前列是否有值
        //rs.next()rs中的光标向下移动一位
        while (rs.next()) { 
        
            //rs.getString将当前列作为String类型保存,参数为当前列的标签
            System.out.println(rs.getString("name"));
        }
        //关闭连接
        conn.close();
    }
}

最后附上SQL类型对应的JAVA类型

SQL类型 Java类型
CHAR java.lang.String
VARCHAR java.lang.String
LONGVARCHAR java.lang.String
NUMERIC java.math.BigDecimal
DECIMAL java.math.BigDecimal
BIT boolean
TINYINT byte
SMALLINT short
INTEGER int
BIGINT long
REAL float
FLOAT double
DOUBLE double
BINARY byte[]
VARBINARY byte[]
LONGVARBINARY byte[]
DATE java.sql.Date
TIME java.sql.Time
TIMESTAMP java.sql.Timestamp
BLOB java.sql.Blob
CLOB java.sql.Clob
Array java.sql.Array
REF java.sql.Ref
Struct java.sql.Struct

标签: sub探针连接器自动型oxr

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台