Java详解 JDBC连接数据库

环境

MySQL版本:5.0
数据库截图
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

分析

JDBC连接数据库分为以下几个步骤。

  1. 加载驱动
  2. 创建连接
  3. 获得statement对象
  4. 获取执行sql
  5. 处理结果集(可有可不有)
  6. 关闭数据库连接

简答案例

以下是一个查询数据的简单案例。

try{
            Class.forName("com.mysql.jdbc.Driver");
            //创建连接
            Connection connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/wzsxy","root","123456");
            //sql语句
            String sql="select * from user";
            //获得statement对象
            PreparedStatement statement=connection.prepareStatement(sql);
            //执行sql
            ResultSet resultSet=statement.executeQuery();
            //处理结果集
            while(resultSet.next()){
                System.out.println(resultSet.getInt(1));
                System.out.println(resultSet.getString(2));
                System.out.println(resultSet.getString(3));
            }
            //关闭
            if (resultSet!=null){
                resultSet.close();
            }
            if (resultSet!=null){
                statement.close();
            }
            if (resultSet!=null){
                connection.close();
        }catch (Exception e){
            e.printStackTrace();
        }

String sql="INSERT INTO user (id,username,password) VALUES (NULL ,'lyq','123')";

String sql="DELETE FROM user WHERE id=3";

String sql="UPDATE user set password ='123456' WHERE id=1";

DBUtils

我们可以把相同的步骤拿出来写在一起,例如加载驱动,连接数据库,关闭数据库。

public static Connection getConnection() {
        //加载驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
            //创建连接
            Connection connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/wzsxy","root","123456");
            return connection;
        } catch (Exception e) {
            e.printStackTrace();
        }
       return getConnection();
    }

    public static void closeAll(ResultSet resultSet, Statement statement,Connection connection) {
        try{
            if (resultSet!=null){
                resultSet.close();

            }
            if (resultSet!=null){
                statement.close();

            }
            if (resultSet!=null){
                connection.close();

            }
        }catch (Exception e){
            e.printStackTrace();
        }

    }

这样一来我们的数据库操作类可以简洁一点,这里把上面的查询数据库修改一下。

try{
            //加载驱动
            //创建连接
            Connection connection= DBUtil.getConnection();
            System.out.println("创建连接成功!");
            //sql语句
            String sql="select * from user";
            //获得statement对象
            PreparedStatement statement=connection.prepareStatement(sql);
            //执行sql
            ResultSet resultSet=statement.executeQuery();
            //处理结果集
            while(resultSet.next()){
                System.out.println(resultSet.getInt(1));
                System.out.println(resultSet.getString(2));
                System.out.println(resultSet.getString(3));
            }
            //关闭
            DBUtil.closeAll(resultSet,statement,connection);
        }catch (Exception e){
            e.printStackTrace();
        }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值