Java连接PostgreSql数据库及基本使用方式

yizhihongxing

Java连接PostgreSql数据库及基本使用方式攻略

简介

PostgreSQL(常简称 Postgres)是一个高度自定的开源关系数据库管理系统。PostgreSQL 支持多种编程语言,包含 Java。通过 JDBC 驱动可以把 Java 和 PostgreSQL 集成,完成数据交流。

步骤

1. 导入JDBC驱动

在项目中添加 PostgreSQL JDBC 驱动,可以从 Maven 仓库或者官方网站下载,在本示例中使用 Maven 下载:

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.2.22</version>
</dependency>

2. 连接数据库

可以使用以下代码连接到 PostgreSQL 数据库:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class PostgreSqlJdbcExample {
    public static void main(String[] args) {
        String jdbcUrl = "jdbc:postgresql://localhost:5432/mydb"; // 数据库连接字符串
        String username = "myuser"; // 数据库用户名
        String password = "mypassword"; // 数据库密码

        try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
            System.out.println("连接成功!");
        } catch (SQLException e) {
            System.out.println("连接失败!错误信息:" + e.getMessage());
        }
    }
}

其中,jdbcUrl 表示数据库连接字符串,格式为 "jdbc:postgresql://hostname:port/database"。

3. 执行SQL命令

使用 PreparedStatement 可以执行 SQL 命令:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class PostgreSqlJdbcExample {
    public static void main(String[] args) {
        String jdbcUrl = "jdbc:postgresql://localhost:5432/mydb";
        String username = "myuser";
        String password = "mypassword";

        try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
            String sql = "SELECT * FROM users WHERE id = ?";
            PreparedStatement pstmt = conn.prepareStatement(sql);
            pstmt.setInt(1, 1);
            ResultSet rs = pstmt.executeQuery();
            while (rs.next()) {
                System.out.println(rs.getInt("id") + "," + rs.getString("name"));
            }
        } catch (SQLException e) {
            System.out.println("执行SQL命令失败,错误信息:" + e.getMessage());
        }
    }
}

这里执行了一条查询语句,参数 1 表示查询 id 为1的用户信息。

示例

示例1:插入一条记录

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class PostgreSqlJdbcExample {
    public static void main(String[] args) {
        String jdbcUrl = "jdbc:postgresql://localhost:5432/mydb";
        String username = "myuser";
        String password = "mypassword";

        try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
            String sql = "INSERT INTO users (id, name, age) VALUES (?, ?, ?)";
            PreparedStatement pstmt = conn.prepareStatement(sql);
            pstmt.setInt(1, 1);
            pstmt.setString(2, "张三");
            pstmt.setInt(3, 20);
            int rows = pstmt.executeUpdate();
            System.out.println("插入成功,受影响行数:" + rows);
        } catch (SQLException e) {
            System.out.println("插入失败,错误信息:" + e.getMessage());
        }
    }
}

这里插入了一条 id 为 1,姓名为 张三,年龄为 20 的用户记录。

示例2:更新一条记录

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class PostgreSqlJdbcExample {
    public static void main(String[] args) {
        String jdbcUrl = "jdbc:postgresql://localhost:5432/mydb";
        String username = "myuser";
        String password = "mypassword";

        try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
            String sql = "UPDATE users SET age = ? WHERE id = ?";
            PreparedStatement pstmt = conn.prepareStatement(sql);
            pstmt.setInt(1, 22);
            pstmt.setInt(2, 1);
            int rows = pstmt.executeUpdate();
            System.out.println("更新成功,受影响行数:" + rows);
        } catch (SQLException e) {
            System.out.println("更新失败,错误信息:" + e.getMessage());
        }
    }
}

这里更新了 id 为 1 的用户的年龄为 22。

结论

通过 JDBC 驱动,Java 可以很方便地连接到 PostgreSQL 数据库,并完成数据交流。可以使用 PreparedStatement 完成对数据库表的增删改查。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java连接PostgreSql数据库及基本使用方式 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 设计模式在Spring框架中的应用汇总

    设计模式在Spring框架中的应用汇总 概述 设计模式是一种解决特定场景下常见问题的经过验证的解决方案集合。它使用经过测试和验证的技术和方法,以提高代码的可读性,可维护性和可重用性,同时降低了代码的复杂性和重复性。 Spring框架是一个非常流行的开源框架,可以构建Java企业级应用程序。它提供了许多内置的模块以及许多可插拔的项目,以帮助开发人员创建高质量和…

    Java 2023年5月20日
    00
  • Java8新特性:Lambda表达式之方法引用详解

    Java8新特性:Lambda表达式之方法引用详解 Java 8中引入了Lambda表达式,使得Java中的函数式编程变得更加简单。方法引用是Lambda表达式的一种特殊形式,让我们能够重复利用已有方法的实现。 方法引用的概念 方法引用是一个简写形式,它提供了一种方式,让我们可以使用已有方法的规则来编写Lambda表达式。简单来说,方法引用允许你直接引用现有…

    Java 2023年5月26日
    00
  • layer页面跳转,获取html子节点元素的值方法

    下面是关于layer页面跳转和获取html子节点元素值的完整攻略: layer页面跳转 在网站开发过程中,layer弹窗是一个非常常用的提示框和交互框架。在进行页面跳转时,我们可以使用layer.open()方法实现,方法语法如下: layer.open({ title: ‘弹出窗口标题’, type: 2, content: ‘弹出窗口链接地址’, are…

    Java 2023年5月20日
    00
  • SpringBoot用JdbcTemplates操作Mysql实例代码详解

    下面我将详细讲解“SpringBoot用JdbcTemplates操作Mysql实例代码详解”的完整攻略,包括示例说明。 介绍 Spring Boot是一个快速搭建基于Spring框架的应用程序的开发框架。它简化了许多开发任务,使得开发人员可以快速构建并启动应用程序。在Spring Boot中,JDBC是一种常用的访问关系数据库的方法。当使用Spring B…

    Java 2023年5月20日
    00
  • Java对象方法的调用执行过程详解

    下面是“Java对象方法的调用执行过程详解”的完整攻略: 1. 对象方法的定义 在 Java 中,我们可以通过在类中定义方法来实现对类的操作。方法是类中定义实现某种操作的代码块,它可以带有参数,也可以返回值。定义方法的语法如下: 修饰符 返回类型 方法名(参数列表) { // 方法体 } 修饰符可以是 public、private 或 protected 等…

    Java 2023年5月26日
    00
  • Java基础教程之对象的方法与数据成员

    Java基础教程之对象的方法与数据成员 对象是Java编程中的一个重要概念。对象可以看作是一个包含数据和方法的实体。数据成员是对象中的变量,存储对象的状态信息;方法是定义对象的行为的函数,用来对对象进行操作。 定义一个对象 在Java中,对象的定义通常包括以下步骤: 定义类(class) 定义数据成员(member variable) 定义方法(method…

    Java 2023年5月26日
    00
  • IntelliJ IDEA 2019如何开启自动编译?IntelliJ IDEA开启自动编译教程

    下面是IntelliJ IDEA 2019如何开启自动编译的完整攻略。 1. 打开IntelliJ IDEA设置 点击菜单栏中的“File”(文件),选择“Settings…”(设置)打开IDEA的设置面板。 2. 进入编译器设置 在设置面板左侧的选项中选择“Build, Execution, Deployment”(构建、运行和部署),然后选择“Compi…

    Java 2023年5月26日
    00
  • javascript基于原型链的继承及call和apply函数用法分析

    JavaScript基于原型链的继承 什么是继承 在面向对象编程中,继承是一种允许新对象获取现有对象的属性和方法的机制。它允许我们创建继承现有对象的新对象,从而减少代码重复,增加代码可重用性。 JavaScript中基于原型链的继承 在JavaScript中,没有像其他语言一样的类和接口的概念,继承通过原型链来实现。每个对象都有一个原型对象,原型对象又有自己…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部