今天学了如何在程序中导入jar包,并连接数据库进行操作,为了夯实学习的内容,决定用自己的语言复盘一下整个过程。

1.在程序中导入jar包

先在程序中新建一个lib文件

java数据库用两张表 java连接数据库并建表_java数据库用两张表

在文件夹中找到jar包复制下来

java数据库用两张表 java连接数据库并建表_java数据库用两张表_02

粘贴到lib文件夹中

java数据库用两张表 java连接数据库并建表_mysql_03

然后右键mysql-connector-java-8.0.28.jar->add as a library

就导入成功了

2.创建新数据库,建表

java数据库用两张表 java连接数据库并建表_数据库_04

右键locallhost->新建数据库->这里我取名为qq

java数据库用两张表 java连接数据库并建表_数据库_05

右键qq下的表->新建表(这里我取名为user)

java数据库用两张表 java连接数据库并建表_jar_06

 自己设置字段,记得加上前缀规范

然后就可以双击uesr填充表格

java数据库用两张表 java连接数据库并建表_java数据库用两张表_07

下方的“+”为增加对象,“√”为确认对象。

3.程序连接数据库 

有了表之后,我们就要将我们的Java程序与数据库连接。

先要写一个类,里面有个主函数,写下连接语句。

java数据库用两张表 java连接数据库并建表_mysql_08

import java.sql.*;

public class Connect {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306/qq", "root", "123456");
                                                                                 //这里输入的是数据库名字qq
        Statement state=con.createStatement();
        ResultSet rs=state.executeQuery("select * from user");
        while (rs.next()){
            System.out.println(rs.getString("idx_name"));
        }
    }
}

①第一步:注册驱动 ,先加载数据库的驱动程序,代码如下:

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

②第二步:获得连接,连接数据库。DriverManager是类用来管理数据库中的所有驱动程序,调用它的静态方法可以getConnection(String url,String user,String password)与数据库建立连接,连接成功会返回connection对象,后面的接口都会依赖于这个接口对象,代码如下:

Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/qq", "root", "123456");

后面填入的是

            Connection conn= DriverManager.getConnection(url, user, password);

            String url="jdbc:mysql://localhost:3306/数据库名";
            String user="数据库使用者";
            String password="数据库密码"; //未设置密码时默认为123456

③第三步:获得数据库操作对象 。如果要操作数据库的话,需要发送sql语句,所以还需要一个向数据库发送sql语句的对象,这个对象时通过Connection 对象来获得的。

java数据库用两张表 java连接数据库并建表_java数据库用两张表_09

上图中有三个这样的对象

Statement对象用于执行不带参数的简单sql语句;

PreparedStatement继承了Statement,用来执行动态的sql语句;

CallableStatement继承了PreparedStatement,用于执行存储过程的。

这里我们用statement接口,代码如下:

Statement state=con.createStatement();

有了发送sql语句的对象,就可以写sql语句了 

 ④第四步:返回结果集。statement对象用于执行不带参数的简单sql语句,所以用于查询语句,它会返回一个ResultSet对象,是一个结果集。这个时候我们就可以通过ResuleSet对象操作数据库内容。

ResultSet接口类似于一个临时表,用来暂时存放你从数据库要回来的数据

java数据库用两张表 java连接数据库并建表_java数据库用两张表_10

ResultSet对象是一个结果集,类似于一个二维的矩阵吧,它一次只可以看到结果集的一行数据,所以他会有一个指针,一开始指向第一行数据的前面一行(不是指向第一行数据),然后调用它的next()方法可以使指针往下移动一行

查询语句:  ResultSet rs=state.executeQuery("select * from 表名");

java数据库用两张表 java连接数据库并建表_Java_11

例如我们得到了表返回于ResuleSet对象rs中后,可以用rs调用方法,输出我user表中,idx_name中的内容!

java数据库用两张表 java连接数据库并建表_jar_12

 🆗🆗🆗