java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > JDBC 连接 MYSQL

JDBC连接MYSQL分步详解

作者:桃花键神

JDBC是指Java数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库。从根本上来说,JDBC 是一种规范,它提供了一套完整的接口,允许便携式访问到底层数据库,本篇文章我们来了解MySQL连接JDBC的流程方法

什么是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>

连接数据库并测试

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

加载驱动

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

结果:驱动加载成功

建立数据库连接

代码:

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

结果:

执行查询语句

代码:

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类型
CHARjava.lang.String
VARCHARjava.lang.String
LONGVARCHARjava.lang.String
NUMERICjava.math.BigDecimal
DECIMALjava.math.BigDecimal
BITboolean
TINYINTbyte
SMALLINTshort
INTEGERint
BIGINTlong
REALfloat
FLOATdouble
DOUBLEdouble
BINARYbyte[]
VARBINARYbyte[]
LONGVARBINARYbyte[]
DATEjava.sql.Date
TIMEjava.sql.Time
TIMESTAMPjava.sql.Timestamp
BLOBjava.sql.Blob
CLOBjava.sql.Clob
Arrayjava.sql.Array
REFjava.sql.Ref
Structjava.sql.Struct

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

您可能感兴趣的文章:
阅读全文