JDBC连接MYSQL分步详解

什么是JDBC?

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

在MAVEN中引入驱动

  
        
            mysql
            mysql-connector-java
            8.0.28
        

    

连接数据库并测试

连接数据库分为以下几步:

  • 加载驱动
  • 建立数据库连接
  • 执行相关的语句
  • 关闭连接

加载驱动

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

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);
    }
}

结果:驱动加载成功

JDBC连接MYSQL分步详解_第1张图片

建立数据库连接

代码:

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);
    }
}

结果:

JDBC连接MYSQL分步详解_第2张图片

执行查询语句

代码:

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"));
        }
    }
}

结果:

JDBC连接MYSQL分步详解_第3张图片

关闭数据库连接

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

到此这篇关于JDBC连接MYSQL分步详解的文章就介绍到这了,更多相关JDBC 连接 MYSQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的