Java通过 JDBC 连接数据库操作(1)

  1. 组装SQL并调用执行的API(相当于在mysql客户端输入了aql命令,并执行了回车操作)

  2. 关闭资源(关闭mysql客户端)

3.2.1 获得数据源

数据源是 MysqlDataSource,获取⽅式如下,需要输⼊数据库连接的 MySQL 服务器地址、⽤户名和密 码:


// 1.创建数据源

MysqlDataSource dataSource = new MysqlDataSource();

// 1.1 设置连接的 MySQL 服务器

dataSource.setURL("jdbc:mysql://127.0.0.1:3306/java?characterEncoding=utf8&useSSL=false");

// 1.2 设置⽤户名

dataSource.setUser("root");

// 1.3 设置密码

dataSource.setPassword("root");



在这里插入图片描述

3.2.2 获得连接

连接对象是 Connection,注意此步骤操作容易出错,⼀定是 com.mysql.jdbc 包下的 Connection 对象:


// 2.得到连接 Connection

Connection connection = (Connection) dataSource.getConnection();



3.2.3 获得执行器

执⾏器是⽤来执⾏ SQL 命令的,执⾏器有三种:

  • Statement

  • PreparedStatement

  • CallableStatement

    在这里插入图片描述

    实际开发中最常⽤的是 PreparedStatement 对象。

实现:


// 3.获得执⾏器

PreparedStatement statement = connection.prepareStatement("select * from student where username=?");

// 3.1 占位符赋值

statement.setString(1, "王五");



3.3.4 查询或操作数据库

查询数据库使⽤ PreparedStatement.executeQuery ⽅法,返回⼀个 ResultSet 对象,具体实现代码 如下:


// 4.获得结果集

ResultSet resultSet = statement.executeQuery();

// 4.1 获得结果并打印

while (resultSet.next()) {

    String sn = resultSet.getString("sn");

    String username = resultSet.getString("username");

    String mail = resultSet.getString("mail");

    System.out.println(String.format("SN:%s,UserName:%s,Mail:%s", sn,

username, mail));

}



ResultSet 对象它被称为结果集,它代表符合 SQL 语句条件的所有⾏,并且它通过⼀套 getXXX ⽅法提供了对这些行中数据的访问。

ResultSet ⾥的数据⼀⾏⼀⾏排列,每⾏有多个字段,并且有⼀个记录指针,指针所指的数据⾏ 叫做当前数据⾏,我们只能来操作当前的数据⾏。我们如果想要取得某⼀条记录,就要使⽤ ResultSet 的 next() ⽅法 ,如果我们想要得到 ResultSet ⾥的所有记录,就应该使⽤ while 循环。

3.3.5 关闭数据库连接

关闭数据库连接是为了不浪费 MySQL 服务器端的资源,最终实现代码:


import com.mysql.jdbc.Connection;

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;



public class App {

    public static void main(String[] args) throws SQLException,SQLException {

        // 1.创建数据源

        MysqlDataSource dataSource = new MysqlDataSource();

        // 1.1 设置连接的 MySQL 服务器

        dataSource.setURL("jdbc:mysql://127.0.0.1:3306/java characterEncoding=utf8&useSSL=false");

        // 1.2 设置⽤户名

        dataSource.setUser("root");

        // 1.3 设置密码

        dataSource.setPassword("root");

        // 2.创建连接

        Connection connection = (Connection) dataSource.getConnection();

        // 3.获得执⾏器

        PreparedStatement statement = connection.prepareStatement("select

* from student where username=?");

        // 3.1 占位符赋值

        statement.setString(1, "王五");

        // 4.获得结果集

        ResultSet resultSet = statement.executeQuery();

        // 4.1 获得结果并打印

        while (resultSet.next()) {

            String sn = resultSet.getString("sn");

            String username = resultSet.getString("username");

            String mail = resultSet.getString("mail");

            System.out.println(String.format("SN:%s,UserName:%s,Mail:

%s", sn, username, mail));

       }

        // 5. 关闭资源

        resultSet.close();

        connection.close();

   }

}



读者福利

分享一份自己整理好的Java面试手册,还有一些面试题pdf

不要停下自己学习的脚步

字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么

字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么

  resultSet.close();

    connection.close();

}

}




 




# **读者福利**

分享一份自己整理好的Java面试手册,还有一些面试题pdf

**不要停下自己学习的脚步**

[外链图片转存中...(img-lvDp7qLU-1714394332821)]

[外链图片转存中...(img-yU3YZ6SB-1714394332821)]

> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值