java数据库连接以及基本的增删改查操作在java中实现

本文详细介绍如何使用Java连接MySQL数据库,包括驱动安装、JDBC连接、SQL执行及结果处理。涵盖不同MySQL版本的驱动加载方式,适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java连接mysql数据库及其相关基本操作

要连接数据库,首先,确保得自己已经正确安装好了数据库。确认方法:运行mysql程序输入超级管理员密码后可以输入数据库语句运行。效果如下图所示,
在这里插入图片描述
已经确认好后,打开java,新建一个程序。在目录下新建一个文件夹导入驱动包,具体步骤如下:
1.新建文件夹:
在这里插入图片描述
2.导入下载好的驱动包
在这里插入图片描述
驱动包资源分享在这里:链接:https://pan.baidu.com/s/1XyUxAsW3gU-TkZI43roh_Q
提取码:zbig
准备工作完成后,正式开始进行java数据库连接,即jdbc。总的来说分为以下七个步骤:
1.注册驱动
2.建立连接
3.编写sql语句
4.获取statement对象
5.执行sql语句获取结果集
6.遍历结果集
7.关闭连接
这里我们举一个小例子来讲解,先贴代码:

package jdbc;
import java.sql.*;//导入相关的sql包
public class jdbc {
public  static  void main (String[] args)  {
    ResultSet resultSet=null;//结果集
    String str =null;//sql语句
    PreparedStatement statement =null;//语句对象接口,用于执行sql语句并返回结果集
    Connection con =null;//连接接口
    try {
        //1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.创建连接
         con= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbc?useSSL=true&characterEncoding=utf-8&user=root&password=666666");
        System.out.println("创建连接成功");
        //3.写sql
        str ="select * from user ";
        //4.得到statement对象
         statement =con.prepareStatement(str);
        //5.执行sql
         resultSet =statement.executeQuery();
        //6.处理结果
        while (resultSet.next()){
            System.out.println(resultSet.getInt(1));
            System.out.println(resultSet.getString(2));
            System.out.println(resultSet.getString(3));

        }
        //7.关闭资源
    } catch (Exception e) {
        e.printStackTrace();
    }
    finally {
        if(resultSet!=null)
        {
           try{resultSet.close();}
           catch (Exception e)
           {
               e.printStackTrace();
           }
        };
        if(statement!=null)
        {
            try{statement.close();}
            catch (Exception e)
            {
                e.printStackTrace();
            }
        };
        if(con!=null)
        {
            try{con.close();}
            catch (Exception e)
            {
                e.printStackTrace();
            }
        };

    }
}
}

上述小程序完成了连接数据库,执行一个select语句完成查询并给予输出的工作。
首先通过Class类中的forName方法完成驱动加载,不同的mysql版本使用的加载语句有所不同。请根据自身情况进行调整,下给出不同版本使用语句:
Class.forName(“com.mysql.jdbc.Driver”)( mysql-connector-java 5)
Class.forName(“com.mysql.cj.jdbc.Driver”)( mysql-connector-java 6)
随后通过DriverManager类的getConnection方法来获取连接并通过Connection保存,值得注意的是这个方法里的参数本来是三个分别为utf,数据库账户,密码三个,这里合并起来写,具体使用时蓝框里改为自己的数据库名,红色下划线处改为账户名,蓝色下划线处改成自己的密码。(如果是本地数据库账户名与我是一致的)
在这里插入图片描述
随后编写想要执行的sql语句,并通过statement进行执行。这里的sql语句可以在程序中直接写出,也可已通过参数传递进行随意改动,应该这只是一个普通的string。如果执行的是有返回的sql语句,返回值通过ResultSet进行储存。这里得到的返回值是一个多列的和数据库结构相似的数据集,通过遍历这个数据集可以对其中的各个数据进行输出或者使用。
根据执行sql语句的不同,增删改的操作大同小异,这里就不做赘述。不过有时sql语句中想要掺杂可变量,使用以下方法即可达到目的:

   str="update  user set name = ? where id= ?";//sql语句其中有两个问号,代表两个可变量
        try {
            statement =con.prepareStatement(str);//获取statement,statement在前面已经声明过了
            statement.setString(1,"zl");//给第一个?赋值
            statement.setInt(2,112);//给第二个?赋值
            statement.executeUpdate();//因为是update语句,没有返回值所以直接执行
        } catch (Exception e) {
            e.printStackTrace();
        }

完成了sql语句的执行后,最后还要关闭相应的申请的连接。
从低到高依次关闭的顺序应为:
ResultSet(如果有的话,无返回值则无需此操作)
PreparedStatement(statement)
Connection
这里应该注意我对上述三者的声明都放在了try外,这是因为如果在中途执行时出现异常则会直接跳出try到catch中不会执行剩余代码。而最后的finally还是会继续执行,引起错误。
以上,希望对大家有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值