iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java连接PostgreSql数据库及基本使用方法是什么
  • 337
分享到

Java连接PostgreSql数据库及基本使用方法是什么

2023-07-05 07:07:36 337人浏览 安东尼
摘要

这篇文章主要介绍“Java连接postgresql数据库及基本使用方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java连接Postgresql数据库及基本使用方法是什么”文章能帮助大家解

这篇文章主要介绍“Java连接postgresql数据库及基本使用方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java连接Postgresql数据库及基本使用方法是什么”文章能帮助大家解决问题。

一)准备工作

1.下载链接需要的jar

选择最新版本即可。

Java连接PostgreSql数据库及基本使用方法是什么

2.下载之后添加到模块里

Java连接PostgreSql数据库及基本使用方法是什么

3.创建一个工具类Util

书写空参构造,用于对数据库的全部操作。

二)连接

所需内容:数据库名,端口号,数据库地址,数据库用户名,密码

public static Connection Connect(){        Connection c = null;        try {             Class.forName("org.postgresql.Driver");            c = DriverManager                    .getConnection("jdbc:postgresql://服务器地址,本机写127.0.0.1:服务器端口号,默认5432/链接的数据库名",                            "数据库用户名", "数据库密码");        } catch (Exception e) {            e.printStackTrace();            System.err.println(e.getClass().getName()+": "+e.getMessage());            System.exit(0);        }        System.out.println("Opened database successfully");        return c; //记得返回一下这个对象,后面一直在用    }

三)查询

普通版本查询:数据库有三个字段,时间time、地点location、温度temperature

public static void select() {        //与数据库建立链接        Connection c = Util.Connect();        Statement stmt = null;        try {            stmt = c.createStatement();            String sql = "SELECT* FROM tmps;";            ResultSet rs = stmt.executeQuery(sql);            while (rs.next()) {                Date date = rs.getDate(1);                String location = rs.getString("location");                float temperature = rs.getFloat("temperature");                System.out.println("date" + date);                System.out.println("location:" + location);                System.out.println("temperature:" + temperature);            }            //关流操作            rs.close();            stmt.close();            c.close();        } catch (SQLException throwables) {            throwables.printStackTrace();        }    }

下图中这种方法属于进阶方法,只需要输入sql语句即可将任意表中的数据都按照map集合的方式返回

public static List<HashMap<String,Object>> Select(String sql){        //1、与数据库建立链接        Connection c = Util.Connect();        //2、创建操作对象        Statement stmt = null;        //3、创建返回最终查询的数据集合        List<HashMap<String ,Object>> list=new ArrayList<>();        try {            //2.1、初始化操作对象            stmt = c.createStatement();            //4、执行需要执行的sql语句            ResultSet rs = stmt.executeQuery(sql);            //3.1开始封装返回的对象            ResultSetMetaData metaData = rs.getMetaData();//获取全部列名            int columnCount = metaData.getColumnCount();//列的数量            //5、读取数据            while (rs.next()) {                HashMap<String,Object> map=new HashMap<>();                for (int i = 1; i <= columnCount; i++) {                    //getColumnName获取列名                    String name = metaData.getColumnName(i);                    //获取对应的元素                    Object object = rs.getObject(i);                    map.put(name,object);                }                list.add(map);            }            //6、关流操作            rs.close();            stmt.close();            c.close();        } catch (SQLException throwable) {            throwable.printStackTrace();        }        return list;    }

四)添加

返回值是bool类型,表示是否添加成功。

***需要比查询多添加一句***

connect.setAutoCommit(false);
    public static Boolean Insert(String sql){        //1、与数据库建立链接        Connection connect = Util.Connect();        //2、创建操作对象        Statement stmt = null;        int count = 0;        try {            //2.1、初始化创建对象            stmt=connect.createStatement();            //3、添加特殊语句。            connect.setAutoCommit(false);//之前不用            //4、执行添加操作            count = stmt.executeUpdate(sql);                        //5、关流            stmt.close();            connect.commit();            connect.close();        } catch (SQLException throwables) {            throwables.printStackTrace();        }        return count!=0;    }

五)删除数据

public void Delete(String sql) {        //1、链接数据库        Connection c = this.Connect();        Statement stmt = null;        try {            c.setAutoCommit(false);            stmt = c.createStatement();             stmt.executeUpdate(sql);            c.commit();            c.close()            stmt.close();        } catch (SQLException throwable) {            throwable.printStackTrace();        }    }

六)封装之后的代码总和 

封装类

package postSQL.Util; import java.sql.*;import java.util.ArrayList;import java.util.HashMap;import java.util.List; public class Util {    private final Connection connect;    private final String userName;    private final String passWord;    private final String ipAddress;    private final String databaseName;    private final String port;     //构造方法    public Util(String userName, String passWord, String ipAddress, String databaseName, String port) {        this.userName = userName;        this.passWord = passWord;        this.ipAddress = ipAddress;        this.databaseName = databaseName;        this.port = port;        this.connect = this.Connect();    }     //建立链接    private Connection Connect() {        Connection c = null;        try {            Class.forName("org.postgresql.Driver");            c = DriverManager                    .getConnection("jdbc:postgresql://" + this.ipAddress + ":" + this.port + "/" + this.databaseName,                            this.userName, this.passWord);        } catch (Exception e) {            e.printStackTrace();            System.err.println(e.getClass().getName() + ": " + e.getMessage());            System.exit(0);        }        return c;    }     //关流操作    public void close() {        Connection c = this.connect;        try {            c.close();        } catch (SQLException throwables) {            throwables.printStackTrace();        }    }     //查询    public List<HashMap<String, Object>> Select(String sql) {        //1、与数据库建立链接        Connection c = this.connect;        //2、创建操作对象        Statement stmt = null;        //3、创建返回最终查询的数据集合        List<HashMap<String, Object>> list = new ArrayList<>();        try {            //2.1、初始化操作对象            stmt = c.createStatement();            //4、执行需要执行的sql语句            ResultSet rs = stmt.executeQuery(sql);            //3.1开始封装返回的对象            ResultSetMetaData metaData = rs.getMetaData();//获取全部列名            int columnCount = metaData.getColumnCount();//列的数量            //5、读取数据            while (rs.next()) {                HashMap<String, Object> map = new HashMap<>();                for (int i = 1; i <= columnCount; i++) {                    //getColumnName获取列名                    String name = metaData.getColumnName(i);                    //获取对应的元素                    Object object = rs.getObject(i);                    map.put(name, object);                }                list.add(map);            }            //6、关流操作            rs.close();            stmt.close();            //c.close();        } catch (SQLException throwable) {            throwable.printStackTrace();        }        return list;    }     //插入操作    public Boolean Insert(String sql) {        //1、与数据库建立链接        Connection connect = this.connect;        //2、创建操作对象        Statement stmt = null;        int count = 0;        try {            //2.1、初始化创建对象            stmt = connect.createStatement();            //3、添加特殊语句。            connect.setAutoCommit(false);//之前不用            //4、执行添加操作            count = stmt.executeUpdate(sql);             //5、关流            stmt.close();            connect.commit();            //connect.close();        } catch (SQLException throwables) {            throwables.printStackTrace();        }        return count != 0;    }     //删除    public void Delete(String sql) {        //1、链接数据库        Connection c = this.Connect();        Statement stmt = null;        try {            c.setAutoCommit(false);            stmt = c.createStatement();             stmt.executeUpdate(sql);            c.commit();             stmt.close();        } catch (SQLException throwable) {            throwable.printStackTrace();        }    }}

使用测试

 public static void main(String[] args) {        //构造方法        Util util=new Util("用户名","密码",                "ip地址","数据库名","端口号");        //插入语法        Boolean insert = util.Insert("insert into tmps (time,location,temperature)" +                " values('2022-1-1 16:00:00','场景八',112.3);"); //插入        //删除        util.Delete("delete from tmps t where t.location='场景七' ");         //查询        List<HashMap<String, Object>> select = util.Select("select * from tmps");          //关流        util.close();        System.out.println(select);    }

关于“Java连接PostgreSql数据库及基本使用方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: Java连接PostgreSql数据库及基本使用方法是什么

本文链接: https://www.lsjlt.com/news/350407.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java连接PostgreSql数据库及基本使用方法是什么
    这篇文章主要介绍“Java连接PostgreSql数据库及基本使用方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java连接PostgreSql数据库及基本使用方法是什么”文章能帮助大家解...
    99+
    2023-07-05
  • Java连接PostgreSql数据库及基本使用方式
    目录一)准备工作1.下载链接需要的jar包2.下载之后添加到模块里3.创建一个工具类Util二)连接三)查询四)添加五)删除数据六)封装之后的代码总和 封装类使用测试类总结...
    99+
    2023-03-01
    Java连接PostgreSql Java PostgreSql PostgreSql数据库使用
  • Java使用JNDI连接数据库的实现方法是什么
    本篇文章为大家展示了Java使用JNDI连接数据库的实现方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。项目背景在项目中本身使用的SQL Server 数据库,某些功能下需要访问Sybase...
    99+
    2023-06-22
  • java连接oracle数据库的方法是什么
    Java连接Oracle数据库有多种方法,以下是其中的一种常用方法:1. 导入Oracle JDBC驱动程序:首先需要下载并导入Or...
    99+
    2023-08-09
    java oracle
  • java连接postgresql数据库代码及maven配置方式
    目录java连接postgresql代码及maven配置maven依赖Springboo连接数据库通用代码创建连接并执行业务逻辑数据库通用类maven配置java连接postgres...
    99+
    2024-04-02
  • 使用PHP连接PostgreSQL数据库
    PHP是一种广泛使用的服务器端脚本语言,它可以与多种数据库进行交互。PostgreSQL是一种关系型数据库管理系统,它是一项非常流行的开源数据库解决方案。本文将介绍如何使用PHP连接PostgreSQL数据库。一、安装PostgreSQL数...
    99+
    2023-05-16
    PHP postgresql 连接
  • ADO.NET连接数据库方法是什么
    这篇文章主要讲解了“ADO.NET连接数据库方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ADO.NET连接数据库方法是什么”吧!ADO.NET连接数据库的内容包括:连接到数据库、...
    99+
    2023-06-17
  • Navicat (连接mysql数据库)的基本使用
    目录 前言 一、navicat-15的下载安装 二、navicat连接数据库 1、登录 2、连接数据库失败情况 3、登录数据库需要授权 三、navicat的基础操作  ☆ 1、数据库的基本操作 2、对表进行操作 3、sql 语句管理数据库 ...
    99+
    2023-09-02
    mysql 数据库
  • oracle数据库连接的方法是什么
    要连接Oracle数据库,可以使用以下方法之一: 使用Oracle提供的官方JDBC驱动程序来连接数据库。首先需要下载并安装Or...
    99+
    2024-04-02
  • odbc连接数据库的方法是什么
    在使用ODBC(Open Database Connectivity)连接数据库时,一般需要按照以下步骤进行操作: 安装ODBC...
    99+
    2024-04-02
  • android连接数据库的方法是什么
    Android连接数据库的方法有多种,最常用的方法是使用SQLite数据库。下面是使用SQLite数据库连接的步骤:1. 创建一个继...
    99+
    2023-08-28
    android 数据库
  • Sqlsugar连接数据库的方法是什么
    SqlSugar连接数据库的方法通常是通过创建一个SqlSugarClient对象,并指定连接字符串,然后调用该对象的方法来操作数据...
    99+
    2024-04-09
    Sqlsugar 数据库
  • sqlserver连接数据库的方法是什么
    在SQL Server中连接数据库可以使用以下几种方法: 使用SQL Server Management Studio (SSM...
    99+
    2024-04-09
    sqlserver 数据库
  • oracle连接数据库的方法是什么
    Oracle连接数据库的方法通常是使用Oracle提供的客户端工具,比如SQL*Plus或SQL Developer。在这些工具中,...
    99+
    2024-04-09
    oracle 数据库
  • postgresql数据库怎么利用Java进行连接
    这篇文章给大家介绍postgresql数据库怎么利用Java进行连接,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.下载驱动jar2.导入jar包新建lib文件夹,将下载的jar驱动包拖到文件夹中。将jar驱动包添加...
    99+
    2023-05-31
    java postgresql gr
  • mysql连接数据库的方法是什么
    在MySQL中,连接到数据库的方法通常是使用mysql命令行工具或者通过编程语言中的相应库来连接数据库。 在命令行中使用mysql命...
    99+
    2024-03-05
    mysql 数据库
  • dbeaver连接数据库的方法是什么
    使用DBeaver连接数据库的方法如下: 打开DBeaver应用程序。 点击菜单栏中的“数据库”选项,然后选择“新连接”。 ...
    99+
    2024-03-14
    dbeaver 数据库
  • Linux---连接mysql数据库以及基本操作
    文章目录 一、连接MySQL二、MySQL的基本操作1.查询已有数据库2.创建数据库3.选定数据库4.查询数据库下的表5.查询表结构6.查询当前用户7.查询当前选择数据库8.删除数据库9.创建表10.插入表数据11.查询表数据12....
    99+
    2023-08-24
    数据库 mysql linux
  • Java使用JDBC连接数据库的步骤是什么
    Java使用JDBC连接数据库的步骤是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、JDBC是什么?JDBC 指 Java 数据库连接(Java Database ...
    99+
    2023-06-22
  • vb连接access数据库的方法是什么
    在VB中连接Access数据库的方法是使用ADODB(ActiveX Data Objects)库。以下是连接Access数据库的步...
    99+
    2023-10-21
    vb access数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作