Java IDEA 进行数据库的连接 (MYSQL)实现数据库交互 及其配置 (基于Mac M1)

1 使用 Navicat 进行数据库以及表的创建,下面是本测试中使用的建的数据库和表的情况:

在这里插入图片描述

2 进行连接的源代码,进行简单的查询

package DatabaseConnect;

import java.sql.*; //导包

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

        try {
            // 1.加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("加载驱动成功!");

            // 2.连接数据库 获得连接对象 conn 是连接对象
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/data", "root", "111111");
            System.out.println("数据库连接成功!");

            // 3.创建执行环境
            Statement statement = conn.createStatement();

            // 4.创建了查询语句 进行语句的执行 得到结果
            ResultSet result = statement.executeQuery("select * from info");

            // 将查询到的东西进行展示
            while (result.next()) {
                System.out.println(result.getInt("id"));
                System.out.println(result.getString("uname"));
                System.out.println(result.getString("upass"));
            }
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
            System.out.println("加载驱动失败!");
            System.out.println("数据库连接失败!");
        }
    }
}

3 对于上述代码中出现的部分方法进行简单的整理

连接数据的步骤(别忘了复制jar包)
(1)注册驱动: Class.forName():DriverManager
(2)获得链接对象:Connection (JVM 和 数据库的进程通道打开,结束需要关闭)
(3)创建sql执行环境:Statement(就是执行 SQL 语句的对象)
(4)执行sql语句:
(5)查询操作:遍历结果集:ResultSet
(6)关闭资源:(进程通信,一定要关闭)

(1) Class.forName()

Class.forName()中传入的参数就是类的全限定名,JVM通过该全限定名首先检查该类是否已经被加载,若该类没有被加载则加载该类 ;并返回该类相关的Class对象。
  说白了就是对于类的加载,在此处就是所谓的驱动的加载;

(2) 什么是数据库驱动程序?为什么加载驱动?

什么是?
  在Java里边也就是一些类.它们在一些特别的包里.它们负责与数据库建立连接,把一些SQL传到数据库里边去.不同的数据库由不同的类来实现,也就产生的不同的"数据库驱动程序包"。

为什么?
  加载了驱动也就是建立起来了Java与数据库的联系,可以在Java中书写 SQL 语句,从而对于数据库中的数据进行操作,得到自己需要的数据,并切进行相关的处理操作

(3)Connection类

Connection 用于与数据库“对话”,并由特定提供程序的类(如 SqlConnection)表示

1 、有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection;
2、SqlConnection类的对象连接SQL Server数据库;OracleConnection 类的对象连接Oracle数据库;
3、OleDbConnection类的对象连接支持OLE DB的数据库,如Access;而OdbcConnection类的对象连接任何支持ODBC的数据库。与数据库的所有通讯最终都是通过Connection对象来完成的

(4)Java DriverManager.getConnection()

  • Java DriverManager.getConnection() 方法用于获得试图建立到指定数据库 URL 的连接;
  • DriverManager 试图从已注册的 JDBC 驱动程序集中选择一个适当的驱动程序。

(5)Statement

建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句,在发送SQL语句的时候,得有一个执行环境,用连接的 conn 对象创建出来执行环境,

Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute,使用哪一个方法由 SQL 语句所产生的内容决定。

  • 方法executeQuery
    用于产生单个结果集(ResultSet)的语句,例如:被执行最多的SELECT 语句。
    这个方法被用来执行 SELECT 语句,但也只能执行查询语句,执行后返回代表查询结果的ResultSet对象。
  • 方法executeUpdate
    用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。
    INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。
  • 方法execute:
    可用于执行任何SQL语句,返回一个boolean值,表明执行该SQL语句是否返回了ResultSet。
    如果执行后第一个结果是ResultSet,则返回true,否则返回false。

(6)ResultSet

封装了结果集的对象:内部有一个可移动的光标,默认情况,指向第一条记录集的上一条记录:

  • next();光标下移动一次:返回的boolean的值;判断是否有结果可以被遍历:
    boolean 返回一个真假值,真的话就可以进行下面的输出操作,本文使用了 while 循环操作;

  • previous();光标上移动一次:

  • last()移动到最后一行:

  • afterLast();移动到最后一行之后:

  • beforeFirst()移动到第一行的之前:

  • first()

4 将上述的代码封装成为一个工具类

思考:在封装的时候,如果像前面的代码所示,每当数据库发生变化的时候,都需要修改源代码,这是不合适的,也是不方便的,所以将数据库的 url , username , password 单独写成相关的配置文件,使用文件流的形式进行读取即可,用户修改相关的配置文件即可:

4.1 具体的封装的配置文件如下:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/数据库名字
username=root
password=test

# 此处的键值对中间的 = 不能出现空格;
# 每一句配置的后面都不能加封号
# 配置文件的后缀为:properties,我使用的是 db.properties;

工具类的代码如下所示,本质上与上文的连接数据库操作一样,只是将用户名,密码等配置文件单独出来,方便后期的维护;

代码如下所示:

package DatabaseConnect;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

/**
 * @author LuoBin
 * @version 1.0
 * @date 2021/7/9 10:43 上午
 */

// Utild 表示的是JDBC 的一个工具类
    /*
            command + shift + t  进行测试类的创建 单击类:JDBCUtils 选中进行操作
     */
public class JDBCUtils {

    private static String driver;
    private static String url;
    private static String username;
    private static String password;


    // 静态语句块
    // 将配置文件中的 driver 进行这里的传输 用流的形式进行读取

    static {
        // 将文件用流的形式进行读取进来 (核心目的)
        // JDBCUtils.class 获得对象
        // getClassLoader() 类加载器
        // getResourceAsStream("db.properties") 加载源文件放到输入流中
        InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("db.properties");

        // 读取进来进行解析 创建 Property 对象
        // 使用对象对于数据流进行操作
        Properties properties = new Properties();

        // 加载流文件
        try {
            properties.load(is);

            // 加载进了文件之后,读取到相关的值:键值 driver 解析出来
            driver = properties.getProperty("driver");
            url = properties.getProperty("url");
            username = properties.getProperty("username");
            password = properties.getProperty("password");

            Class.forName(driver);

            System.out.println("驱动加载成功!");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("加载流文件失败!");
        }
    }

    // 获得连接对象的方法
    public static Connection getConnection(){
        try {
            System.out.println("数据库连接成功!");
            return DriverManager.getConnection(url,username,password);

        } catch (SQLException throwables) {
            System.out.println("数据库连接失败!");
            throwables.printStackTrace();
        }
        // 保证了连接不成功也有返回值,不然的话只有运行成功才有返回值是不正确的,编译会报错
        return null;
    }
}

5 小笔记,敲代码过程中

5.1 键值

关于键值,Java 语言的配置文件,数据库的名字,位置,用户名,密码等的配置
1、Properties 类位于 java.util.Properties ,是Java 语言的配置文件所使用的类;
2、Xxx.properties 为Java 语言常见的配置文件,如数据库的配置 jdbc.properties;
3、系统参数配置 system.properties
4、这里,讲解一下Properties 类的具体使用。
以key=value 的 键值对的形式进行存储值 key值不能重复

举例如下:(左边是键。右边是值)
        (键值对相当于函数中的映射,键和值进行一一对应,唯一的对应)
    username=root
    password=9842213764

5.2 idea 中的 target 文件夹的作用

这个是intellij IDEA默认的编译路径,就是存放class或者包文件的地方,是IDE自动生成的

5.3 Utility 表示创建出来的实用工具

所以在开发的时候命名时后面为Utils

5.4 JDBC

全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库。JDBC也是java核心类库的一部分

6 附录 本测试的文件组织形式

本测试的目录形式如下:
注:db.properties 的放置位置
数据库的驱动程序放在 lib 中,具体的驱动包参考其他博客
在这里插入图片描述

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要使用JavaIdea连接MySQL数据库,需要遵循以下步骤: 1. 下载并安装MySQL数据库,创建一个数据库和表格。 2. 在Idea中创建一个新的Java项目。 3. 在项目中添加MySQLJava驱动程序,可以通过Maven或手动添加jar包的方式。 4. 在Java代码中使用JDBC API连接MySQL数据库,需要提供数据库的URL、用户名和密码。 5. 执行SQL语句来查询或修改数据库中的数据。 6. 最后,关闭数据库连接。 需要注意的是,连接MySQL数据库需要正确配置数据库的URL、用户名和密码,以及正确的驱动程序。同时,需要注意数据库连接的安全性和性能问题。 ### 回答2: Java是一种开放源代码,跨平台的编程语言,适合构建各种类型的应用程序,而MySQL是一种广泛使用的开源关系型数据库系统。IDEA是一款流行的Java集成开发环境,支持常见的编程语言和框架。在Java开发中,IDEA连接MySQL是一项常见的任务。 首先,我们需要下载并安装MySQL服务器和驱动程序。此外,我们还需要在IDEA配置数据库连接的相关设置。以下是连接MySQL数据库的步骤: 1. 下载并安装MySQL服务器和驱动程序:访问MySQL官网,下载适合您的操作系统的MySQL服务器和驱动程序。安装并配置MySQL服务器,确保它已经在您的系统上运行,并启用了适当的用户身份验证方式。 2. 创建数据库和表:使用MySQL客户端工具(例如phpMyAdmin或MySQL Workbench)创建要在Java应用程序中使用的数据库和表。 3. 下载并添加MySQL驱动程序:在IDEA中,将MySQL驱动程序库添加为项目的依赖项。如果使用Maven或Gradle构建项目,则您可以在pom.xml或build.gradle文件中添加相应的依赖项。 4. 配置数据库连接:在IDEA中,打开“Database”工具窗口,单击“加号”图标,选择MySQL数据库类型并输入数据库连接详细信息,例如主机名、端口号、用户名和密码。单击“Test Connection”按钮测试连接是否正常。 5. 访问和查询数据库:在IDEA中,使用Java编写程序代码连接数据库、访问表、进行查询和更新数据。 以下是示例Java代码,演示如何连接MySQL数据库并查询数据: ``` import java.sql.*; public class MyDatabaseConnection { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase?useSSL=false"; String user = "root"; String password = "mypassword"; try { Connection con = DriverManager.getConnection(url, user, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM mytable"); while (rs.next()) { System.out.println(rs.getInt(1) + " " + rs.getString(2)); } con.close(); } catch (SQLException e) { System.out.println(e.getMessage()); } } } ``` 其中,url是数据库连接URL,mydatabase是数据库名称,root是用户名,mypassword是密码。使用JDBC API,该程序连接数据库并查询名为mytable的表中的所有记录。查询语句返回一个包含结果的ResultSet对象,程序可以逐行读取结果,并在控制台上打印结果。最后,该程序关闭数据库连接。 综上所述,连接MySQL数据库Java开发过程中的一个重要步骤,IDEA简化了这一步骤,并提供了友好的界面和工具来管理数据库连接和查询。 ### 回答3: Java是一种开源语言,广泛应用于Web开发领域。而MySQL是一种流行的关系型数据库管理系统。如果你想在Java中使用MySQL,就需要使用一个Java IDE(集成开发环境)来连接MySQL数据库。IDE可大大简化Java的开发。因此,Java IDEA成为很多开发者的首选。 JavaIDEA是一种流行的Java IDE。它具备强大的功能,简单易用,支持多种编程语言。此外,Java IDEA支持与各种数据库系统通讯,MySQL也是其中之一。下面详细介绍Java IDEA如何连接MySQL数据库,以及如何使用Java IDEA操作MySQL数据库。 第一步,下载并安装MySQL Connector/J。Connector/J是Java MySQL驱动程序,用于连接JavaMySQL。你可以在官网下载Connector/J,也可以在Maven仓库中下载。下载完成后,将Connector/J的JAR文件添加到项目中。 第二步,使用Java IDEA连接MySQL。打开JavaIDEA,进入菜单栏并点击File->New->Project。选择Java Project并按照提示创建一个新项目。进入项目后,在左侧的Project框架中右键点击项目名称,在弹出的菜单中依次选择New->Module,选择JDBC,然后按照提示进行配置配置完成后,你就可以使用Java IDEA连接MySQL了。 第三步,使用Java IDEA操作MySQL数据库。首先,使用JDBC API连接数据库,然后执行SQL语句。在Java IDEA中使用JDBC操作MySQL代码如下: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class MysqlJdbc { public static void main(String[] args) { Connection conn = null; //声明一个Connection对象 Statement stmt = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); //加载驱动程序 String url = "jdbc:mysql://localhost:3306/test"; //设置数据库URL String user = "root"; //设置数据库用户名 String password = "123456"; //设置数据库密码 conn = DriverManager.getConnection(url,user,password); //通过DriverManager获取数据库连接 stmt = conn.createStatement(); //创建Statement对象 rs = stmt.executeQuery("SELECT * FROM student"); //获取结果集 while(rs.next()) { System.out.println(rs.getString("name") + "\t" + rs.getInt("age") + "\t" + rs.getString("email")); //输出查询结果 } } catch(Exception e) { e.printStackTrace(); } finally { try { rs.close(); stmt.close(); conn.close(); //关闭连接 } catch(SQLException e) { e.printStackTrace(); } } } } ``` 以上就是连接MySQL数据库的三个步骤。掌握了这三个步骤,我们就可以使用JavaIDEA连接MySQL数据库并使用JDBC API操作MySQL数据库了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值