Java程序连接数据库

13 篇文章 1 订阅
9 篇文章 0 订阅

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

1.在程序中导入jar包

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

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

粘贴到lib文件夹中

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

就导入成功了

2.创建新数据库,建表

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

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

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

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

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

3.程序连接数据库 

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

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

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 对象来获得的。

上图中有三个这样的对象

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

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

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

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

Statement state=con.createStatement();

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

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

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

在这里插入图片描述

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

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

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

 🆗🆗🆗

  • 14
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值