Java 连接 MySql 数据库

这次暑假中学习 java 连接 mysql 编程的相关知识,选择 JDBC (Java database connection) 编程中的一种数据库 mysql 是因为这种数据库相对比较简单,所以下面以 java 连接 mysql 为例写一篇文章。

JDBC 编程一般分为五步,下面以 mysql 为实例,给出 JDBC 的主要步骤。

&fisrt step:

加载数据库驱动类,每种数据库的厂商各自实现本数据库的驱动程序,所有的程序都要加载相应数据库实现的驱动,而 Java 通过 JDBC 编程接口来统一操作数据库( JDBC 是一套编程接口,所有的数据库都可以通过它来统一编程,只要在程序中加载特定数据库的驱动,使用非常方便。

例如 java 连接 mysql,就需要加载 com.mysql.jdbc.Driver,连接 Oracle 就需要加载 Oracle 的驱动类,sqlserver 就需要加载相应的驱动,下面是以 mysql 为例)。

\\1.加载驱动类,下面是加载 mysql 驱动,用于 java 操作 mysql 数据库,驱动程序实现底层的数据库连接与操作
Class.forName("com.mysql.jdbc.Driver");

&second step:

接下来是得到 mysql 的数据库连接,现在是连接本地的 mysql 数据库,所以本机必须安装 mysql 数据库,在百度有很多教程,去 mysql 官网下载 mysql 的数据库安装程序,然后安装。mysql 默认是占用 3306 端口,必须有名称为select_test数据库的存在,没有就先创建。然后我使用的是 root 用户,密码是 ** .视自身实际情况而定。

// 2.使用 DriverManager 获取数据库连接,
// 其中返回的 Connection 就代表了 Java 程序和数据库的连接
// 不同数据库的URL写法需要查驱动文档知道,用户名、密码由 DBA 分配
Connection conn = DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306/select_test", "root" , "****");

&third step:

创建 Statement 对象,用于后来的数据库操作。

// 3.使用Connection来创建一个Statement对象
Statement stmt = conn.createStatement();

&fourth step:

执行 Sql 语句,此时必须在数据库上创建表名为 student_table, teacher_table 的表,插入数据用于本程序。executeQuery 方法返回的是一个结果集。

// 4.执行SQL语句
/*
Statement 有三种执行 sql 语句的方法:
1 execute 可执行任何 SQL 语句。- 返回一个 boolean 值,
 如果执行后第一个结果是 ResultSet,则返回 true,否则返回 false
2 executeQuery 执行 Select 语句 - 返回查询到的结果集
3 executeUpdate 用于执行 DML 语句。- 返回一个整数,
代表被SQL语句影响的记录条数
*/
ResultSet rs = stmt.executeQuery("select s.* , teacher_name"
+ " from student_table s , teacher_table t"
+ " where t.teacher_id = s.java_teacher"))

&fifth step:

对结果集进行操作,然后将结果输出来。

// ResultSet 有系列的 getXxx(列索引 | 列名),用于获取记录指针
// 指向行、特定列的值,不断地使用 next() 将记录指针下移一行,
// 如果移动之后记录指针依然指向有效行,则 next() 方法返回 truewhile(rs.next())
{
    System.out.println(rs.getInt(1) + "\t"
        + rs.getString(2) + "\t"
        + rs.getString(3) + "\t"
        + rs.getString(4));
}

下面是完整的代码,如果对 mysql 的操作不了解,可以先进行 mysql 数据库基本操作的学习,例如创建数据库,创建表等操作等,在这里不再叙述。


import java.sql.*;
public class ConnMySql
{
    public static void main(String[] args) throws Exception
    {
        // 1.加载驱动,使用反射的知识,现在记住这么写。
        Class.forName("com.mysql.jdbc.Driver");
        try(
            // 2.使用 DriverManager 获取数据库连接,
            // 其中返回的 Connection 就代表了 Java 程序和数据库的连接
            // 不同数据库的 URL 写法需要查驱动文档知道,用户名、密码由 DBA 分配
            Connection conn = DriverManager.getConnection(
                "jdbc:mysql://127.0.0.1:3306/select_test"
                , "root" , "32147");
            // 3.使用Connection来创建一个Statment对象
            Statement stmt = conn.createStatement();
            // 4.执行SQL语句
            /*
            Statement有三种执行 sql 语句的方法:
            1 execute 可执行任何 SQL 语句。- 返回一个 boolean 值,
              如果执行后第一个结果是 ResultSet,则返回 true,否则返回 false
            2 executeQuery 执行 Select语句 - 返回查询到的结果集
            3 executeUpdate 用于执行 DML 语句。- 返回一个整数,
              代表被 SQL 语句影响的记录条数
            */
            ResultSet rs = stmt.executeQuery("select s.* , teacher_name"
                + " from student_table s , teacher_table t"
                + " where t.teacher_id = s.java_teacher"))
        {
            // ResultSet 有系列的 getXxx(列索引 | 列名),用于获取记录指针
            // 指向行、特定列的值,不断地使用 next() 将记录指针下移一行,
            // 如果移动之后记录指针依然指向有效行,则 next() 方法返回 truewhile(rs.next())
            {
                System.out.println(rs.getInt(1) + "\t"
                    + rs.getString(2) + "\t"
                    + rs.getString(3) + "\t"
                    + rs.getString(4));
            }
        }
    }
}

结束:运行结果根据自身的数据库确定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值