javaweb—JDBC连接数据库

本文介绍了JDBC(Java Database Connectivity)的基本概念,它是一组Java类和接口,用于与各种关系数据库进行交互。文章详细讲解了如何通过JDBC连接MySQL数据库,包括导入驱动、使用DriverManager类建立连接,并提供了简化数据库连接和查询的代码示例。

定义:JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

#1. 连接数据库

         注意要先导入mysql连接的驱动包

      

      

下面还有另以一种连接方式:利用驱动管理器类连接数据库[推荐]

原因如下:

我们继续,添加完代码,查找一下学生表的人数吧

我们可以抽取出反复重用的代码:

package cn.proj_jdbc.utils;

 

import java.io.FileInputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Properties;

 

import com.mysql.jdbc.Statement;

 

public class JdbcUtil {

         /**

          * 连接数据库数据

          */

         private static String url=null;

         private static String user=null;

         private static String password=null;

         private static String driverClass=null;

         /**

          * 单例模式 ,防止被创建

          */

         private JdbcUtil(){}

        

         /**

          * 注册驱动程序

          */

         static{

                   try {

                            // 读取db.properties文件

                            FileInputStream inStream=new FileInputStream("./resources/db.properties");

                            // 加载文件

                            Properties properties=new Properties();

                            properties.load(inStream);

                            // 读取信息

                            url=properties.getProperty("url");

                            user=properties.getProperty("user");

                            password=properties.getProperty("password");

                            driverClass=properties.getProperty("driverClass");      

                            // 注册驱动

                            Class.forName(driverClass);

                   } catch (Exception e) {

                            e.printStackTrace();

                            System.out.println(e.getMessage());

                   }

         }

         /**

          * 获取连接对象

          * @throws SQLException

          */

         public static Connection getConnection() throws SQLException{

                   System.out.println(url);

                   return DriverManager.getConnection(url,user,password);

         }

        

         /**

          * 关闭连接对象

          * @throws SQLException

          */

         public static void Close(Connection conn,Statement statement) throws SQLException{

                   if(statement!=null){

                            statement.close();

                   }

                   if(statement!=null){

                            conn.close();

                   }

         }

        

         public static void Close(Connection conn,PreparedStatement statement,ResultSet resultSet) throws SQLException{

                   if(resultSet!=null){

                            resultSet.close();

                   }

                   if(statement!=null){

                            statement.close();

                   }

                   if(statement!=null){

                            conn.close();

                   }

         }

}

 

         同时我们还可以把数据库配置的数据添加到db.properties

db.properties文件:

url=jdbc:mysql://localhost:3306/schooldb

user=root

password=root

driverClass=com.mysql.jdbc.Driver

 

 

### Java Web 开发中使用 JDBC 连接数据库的教程 在 Java Web 开发中,JDBC 是一种标准 API,用于实现 Java 程序对数据库的操作。以下是完整的流程说明和示例代码。 #### 1. 加载数据库驱动 为了使应用程序能够与特定类型的数据库通信,需要加载相应的 JDBC 驱动程序。对于 MySQL 数据库,通常会使用 `com.mysql.cj.jdbc.Driver` 类作为驱动器[^1]。 ```java try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { System.out.println("MySQL JDBC Driver not found."); e.printStackTrace(); } ``` #### 2. 建立数据库连接 通过 URL 和属性设置来指定要连接的目标数据库。典型的 MySQL 数据库连接字符串如下所示: ```plaintext jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC ``` 其中: - `localhost`: 表示数据库服务器所在的主机名或 IP 地址。 - `3306`: 默认的 MySQL 端口号。 - `test`: 要连接的具体数据库名称。 - 参数部分(如 `useSSL`, `serverTimezone`)可以根据需求调整[^3]。 建立连接时还需要提供用户名和密码: ```java String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"; String user = "root"; // 替换为实际使用的数据库账户 String password = "password"; // 替换为对应的密码 Connection connection = null; try { connection = DriverManager.getConnection(url, user, password); if (connection != null) { System.out.println("Database connected successfully!"); } } catch (SQLException e) { System.out.println("Failed to connect database."); e.printStackTrace(); } ``` #### 3. 执行 SQL 查询 一旦建立了有效的数据库连接,就可以准备并执行 SQL 语句。这里展示了一个简单的查询例子: ```java Statement statement = null; ResultSet resultSet = null; try { statement = connection.createStatement(); String sqlQuery = "SELECT id, name FROM users"; resultSet = statement.executeQuery(sqlQuery); while (resultSet.next()) { int userId = resultSet.getInt("id"); String userName = resultSet.getString("name"); System.out.println("User ID: " + userId + ", Name: " + userName); } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (resultSet != null) resultSet.close(); if (statement != null) statement.close(); } catch (SQLException ex) { ex.printStackTrace(); } } ``` #### 4. 关闭资源 无论操作成功与否,都应确保释放所有占用的资源以避免内存泄漏或其他潜在问题。这包括关闭 ResultSet、Statement 及 Connection 对象等。 ```java finally { try { if (connection != null && !connection.isClosed()) { connection.close(); } } catch (SQLException e) { e.printStackTrace(); } } ``` 以上即是一个基本的 JDBC 流程演示[^2]。 --- ### 注意事项 - **引入依赖**: 如果项目未自动管理依赖项,则需手动下载对应版本的 MySQL Connector/J 并将其添加至项目的构建路径中[^5]。 - **异常处理**: 实际应用过程中应对可能出现的各种异常情况做充分考虑,并采取适当措施加以解决。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值