详解Java使用JDBC连接MySQL数据库

2023-01-21 0 3,344

一:什么是数据库,为什么要有数据库?

数据,数据库,数据库管理系统数据库系统是与数据库技术密切相关的四个基本概念

数据库相信大家都耳熟能详了,其实数据库顾名思义就是存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的~

可能有朋友就要打断我施法了,停停停,我们Java程序猿在IDEA里面和控制台你侬我侬,没有对象new个对象存储在内存JVM的堆上就行了,学数据库干啥啊?

这时候我们就需要了解到:内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。

以疫情期间为例,把人隔离观察住的酒店,就好比是内存,家喻户晓的JVM就是放在内存上的~~~ 酒店是给人住的,他的空间是宝贵的,然而每个人每天生活必需品,衣食住行等等,隔离一天两天可能酒店还放得下,但是隔离十天半个月,一年半载呢?酒店是住人的,不是放东西的~~~酒店寸土寸金每个地方都很宝贵,拿酒店(内存)来放行李和必需品等(海量数据~),如果酒店还是西安的W酒店,这岂不是很奢侈?~~~你拿来存放自己和跟班大批行李~老哥,还缺行李不?(doge),想要存放大批东西(海量数据),我直接把十四运的主场馆(外存上的数据库)(69.6亩)给你放行李(海量数据)~!

这下诸位应该都了然为什么我们需要搞数据库了吧?

二:如何使用Java连接数据库~

1)原生方法

1.1)加载JDBC 驱动:

Class.forName(driver);// mysql 数据库:“com.mysql.jdbc.Driver”

1.2)建立数据库连接:

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

1.3)创建 statement,用来执行SQL 语句:

Statement statement =conn.createStatement();

1.4)执行 SQL 语句:

preparedStatement.Execute 这个。执行所准备的语句,并且返回结果集合 ResultSet

preparedStatement 事先准备好的声明

Execute the prepared statement.就是执行准备好的语句!

ResultSet rs =statement.executeQuery(sql);

1.5)关闭记录集,关闭声明,关闭连接对象

1.6)连起来

在以反射的方式注册驱动从而获取数据库的连接的方法,详情可以参考我以前的博客,因为本文侧重于讲解DataSource连接数据库的方法!所以在此不作赘述~

1.7)原生方法的不足:

每次使用都要创建连接,使用完毕后还必须关闭连接,操作繁琐,易出错;

连接数据库资源不便统一管理;

三:IDEA中配置jar包

工欲善其事必先利其器,在前期的学习过程中,我们使用JDBC连接MySQL的时候应该手动配置Jar包

移步之前的帖子——>配置Java包流程及Jar包下载

四:url必知必会

我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。.就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。

在使用连接数据库的时候需要先知道数据库的

详解Java使用JDBC连接MySQL数据库

连接信息~

列位您可记住嘞  127.0.0.1 这个地址:就是当前自己电脑的IP地址

而我们的IP地址 和 端口如何理解 

IP地址就相当于我们点外卖订单所填的地址,端口号就是外卖订单所写的收件人!~具体交给谁吃!~ 

而且这个URL没必要强行记

URL

private static final String URL = "jdbc:mysql://127.0.0.1:3306/java16_order_system?characterEncoding=utf8&useSSL=true";

jdbc:mysql://127.0.0.1:3306/java16_order_system?characterEncoding=utf8&useSSL=true

放在好找的地方(如gitee码云仓库)等,需要的时候复制粘贴一改就行了!~

五:datasource获取连接

package model;
 
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
 
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
 
// DBUtil 本质上是一个管理了单例的 DataSource 的类
public class DBUtil {
    private static final String URL = "jdbc:mysql://127.0.0.1:3306/java16_order_system?characterEncoding=utf8&useSSL=true";
//    private static final String URL = "jdbc:mysql://47.98.116.42:3306/java16_order_system?characterEncoding=utf8&useSSL=true";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "rota";
 
    private static volatile DataSource dataSource = null;
 
    public static DataSource getDataSource() {
        if (dataSource == null) {
            synchronized (DBUtil.class) {
                if (dataSource == null) {
                    dataSource = new MysqlDataSource();
                    ((MysqlDataSource)dataSource).setURL(URL);
                    ((MysqlDataSource)dataSource).setUser(USERNAME);
                    ((MysqlDataSource)dataSource).setPassword(PASSWORD);
                }
            }
        }
        return dataSource;
    }
 
    // 数据库连接失败是很常见的问题. 如果失败, 后续的操作肯定也是失败的.
    // 如果发现 Connect 为 null, 就说明数据库连接失败, 就需要查看错误信息(Tomcat 的日志)
    // 常见的问题就是, url, username, password 等信息写错了, 或者数据库没有启动.
    public static Connection getConnection() {
        try {
            return getDataSource().getConnection();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        System.out.println("数据库连接失败, 请检查数据库是否启动正确, url 是否正确");
        return null;
    }
 
    public static void close(Connection connection, PreparedStatement statement, ResultSet resultSet) {
        try {
            if (resultSet != null) {
                resultSet.close();
            }
            if (statement != null) {
                statement.close();
            }
            if (connection != null) {
                connection.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
 
 
}

到此这篇关于详解Java使用JDBC连接MySQL数据库的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。

:本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可, 转载请附上原文出处链接。
1、本站提供的源码不保证资源的完整性以及安全性,不附带任何技术服务!
2、本站提供的模板、软件工具等其他资源,均不包含技术服务,请大家谅解!
3、本站提供的资源仅供下载者参考学习,请勿用于任何商业用途,请24小时内删除!
4、如需商用,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
5、本站部分资源存放于百度网盘或其他网盘中,请提前注册好百度网盘账号,下载安装百度网盘客户端或其他网盘客户端进行下载;
6、本站部分资源文件是经压缩后的,请下载后安装解压软件,推荐使用WinRAR和7-Zip解压软件。
7、如果本站提供的资源侵犯到了您的权益,请邮件联系: 442469558@qq.com 进行处理!

猪小侠源码-最新源码下载平台 Java教程 详解Java使用JDBC连接MySQL数据库 http://www.20zxx.cn/462978/xuexijiaocheng/javajc.html

猪小侠源码,优质资源分享网

常见问题
  • 本站所有资源版权均属于原作者所有,均只能用于参考学习,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,建议提前注册好百度网盘账号,使用百度网盘客户端下载
查看详情

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务