003、JDBC连接数据库详细教程指南
本文最后更新于 66 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com

JDBC连接数据库详细教程指南

一、JDBC介绍

JDBC是Java数据库连接的简称。它是Java语言中用于访问关系型数据库的API,提供了一套标准的接口,使得Java应用程序能够与各种关系型数据库进行通信。

二、JDBC环境的搭建

三、JDBC的开发步骤

1、加载JDBC驱动程序

在程序运行之前,需要将JDBC驱动程序加载到内存中。可以使用Class.forName()方法加载驱动程序。例如,如果要使用MySQL数据库,则需要加载com.mysql.jdbc.Driver类。

Class.forName("com.mysql.jdbc.Driver");

2、建立数据库连接

使用DriverManager.getConnection()方法建立与数据库的连接。需要提供数据库的URL、用户名和密码。

String url = "jdbc:mysql://localhost/test";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);

3、创建Statement对象

创建一个Statement对象,用于向数据库发送SQL语句。

 Statement stmt = conn.createStatement();

4、执行SQL语句

使用Statement对象的executeQuery()或executeUpdate()方法执行SQL语句。
executeQuery()方法用于执行SELECT语句,返回一个ResultSet对象,而executeUpdate()方法用于执行INSERT、UPDATE和DELETE语句,返回一个整数,表示受影响的行数。

 ResultSet rs = stmt.executeQuery("SELECT * FROM student");

5、处理结果集

如果执行的是SELECT语句,那么需要处理返回的结果集。可以使用ResultSet对象的next()方法遍历结果集,并使用getXXX()方法获取每个字段的值。

 while (rs.next()) {
         int id = rs.getInt("id");
         String name = rs.getString("name");
         int age = rs.getInt("age");
         System.out.println("id: " + id + ", name: " + name + ", age: " + age);
      }

6、关闭连接

使用Connection、Statement和ResultSet对象的close()方法关闭连接。

rs.close();
stmt.close();
conn.close();

7、示例程序

import java.sql.*;

public class JdbcDemo {
   public static void main(String[] args) throws Exception {
      // 加载JDBC驱动程序
      Class.forName("com.mysql.jdbc.Driver");

      // 建立数据库连接
      String url = "jdbc:mysql://localhost/test";
      String user = "root";
      String password = "123456";
      Connection conn = DriverManager.getConnection(url, user, password);

      // 创建Statement对象
      Statement stmt = conn.createStatement();

      // 执行SQL语句
      ResultSet rs = stmt.executeQuery("SELECT * FROM student");

      // 处理结果集
      while (rs.next()) {
         int id = rs.getInt("id");
         String name = rs.getString("name");
         int age = rs.getInt("age");
         System.out.println("id: " + id + ", name: " + name + ", age: " + age);
      }

      // 关闭连接
      rs.close();
      stmt.close();
      conn.close();
   }
}

8、注意

在实际开发中,建议使用PreparedStatement对象代替Statement对象,以防止SQL注入攻击。PreparedStatement对象可以使用Connection.prepareStatement()方法创建。

PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM student WHERE name = ?");
pstmt.setString(1, "张三");
ResultSet rs = pstmt.executeQuery();
谨此笔记,记录过往。凭君阅览,如能收益,莫大奢望。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇