我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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数据库及基本使用方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

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

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

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

这篇文章主要介绍了Java连接PostgreSql数据库及基本使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-03-01

Java使用JNDI连接数据库的实现方法是什么

本篇文章为大家展示了Java使用JNDI连接数据库的实现方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。项目背景在项目中本身使用的SQL Server 数据库,某些功能下需要访问Sybase
2023-06-22

java连接oracle数据库的方法是什么

Java连接Oracle数据库有多种方法,以下是其中的一种常用方法:1. 导入Oracle JDBC驱动程序:首先需要下载并导入Oracle的JDBC驱动程序。可以从Oracle官方网站下载相应的驱动程序。2. 加载驱动程序:使用Class
2023-08-09

ADO.NET连接数据库方法是什么

这篇文章主要讲解了“ADO.NET连接数据库方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ADO.NET连接数据库方法是什么”吧!ADO.NET连接数据库的内容包括:连接到数据库、
2023-06-17

android连接数据库的方法是什么

Android连接数据库的方法有多种,最常用的方法是使用SQLite数据库。下面是使用SQLite数据库连接的步骤:1. 创建一个继承自`SQLiteOpenHelper`的类,用于创建和管理数据库。```javapublic class
2023-08-28

dbeaver连接数据库的方法是什么

使用DBeaver连接数据库的方法如下:打开DBeaver应用程序。点击菜单栏中的“数据库”选项,然后选择“新连接”。在新连接窗口中,选择要连接的数据库类型,如MySQL、PostgreSQL、Oracle等。输入数据库连接信息,包括主机名
dbeaver连接数据库的方法是什么
2024-03-14

oracle连接数据库的方法是什么

Oracle连接数据库的方法通常是使用Oracle提供的客户端工具,比如SQL*Plus或SQL Developer。在这些工具中,用户需要提供数据库的连接信息,包括主机地址、端口号、数据库名称、用户名和密码等。用户还可以使用Oracle提
oracle连接数据库的方法是什么
2024-04-09

sqlserver连接数据库的方法是什么

在SQL Server中连接数据库可以使用以下几种方法:使用SQL Server Management Studio (SSMS):通过SSMS工具,可以轻松连接到SQL Server数据库并进行管理操作。在SSMS中,选择“连接到服务器”
sqlserver连接数据库的方法是什么
2024-04-09

mysql连接数据库的方法是什么

在MySQL中,连接到数据库的方法通常是使用mysql命令行工具或者通过编程语言中的相应库来连接数据库。在命令行中使用mysql命令行工具连接数据库的一般语法为:mysql -u username -p password -h host
mysql连接数据库的方法是什么
2024-03-05

Sqlsugar连接数据库的方法是什么

SqlSugar连接数据库的方法通常是通过创建一个SqlSugarClient对象,并指定连接字符串,然后调用该对象的方法来操作数据库。以下是一个示例代码:using SqlSugar;public class DatabaseHelpe
Sqlsugar连接数据库的方法是什么
2024-04-09

Java使用JDBC连接数据库的步骤是什么

Java使用JDBC连接数据库的步骤是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、JDBC是什么?JDBC 指 Java 数据库连接(Java Database
2023-06-22

asp.net web连接数据库的方法是什么

在ASP.NET中连接数据库的方法有多种,其中常用的是使用ADO.NET库来进行数据库连接和操作。以下是连接数据库的一般步骤:1. 引入必要的命名空间:```csharpusing System.Data.SqlClient; //如果使用
2023-09-08

vb连接access数据库的方法是什么

在VB中连接Access数据库的方法是使用ADODB(ActiveX Data Objects)库。以下是连接Access数据库的步骤:在VB中创建一个新的项目。在VB中选择“项目”菜单,然后选择“引用”。在“引用”对话框中,选择“Micr
2023-10-21

云服务器怎么连接本地数据库使用的方法是

连接本地数据库在本地连接上云服务器后,您需要首先连接本地数据库。本地数据库通常位于您的计算机上,可以通过操作系统的命令行界面进行访问。如果您的本地计算机具有集群功能,则可以使用集群工具来连接数据库。配置本地连接在连接本地数据库之前,您需要确保您已经正确配置了云服务器和本地数据库。这包括将本地文件和数据存储在本地位置,以
云服务器怎么连接本地数据库使用的方法是
2023-10-28

asp access数据库连接的方法是什么

ASP连接Access数据库的方法如下:1. 在ASP页面中创建一个连接对象:```Set conn = Server.CreateObject("ADODB.Connection")```2. 设置连接字符串:```conn.Connec
2023-06-04

云数据库mysql连接的方法是什么

连接到云数据库MySQL通常需要使用以下步骤:安装MySQL客户端:首先需要安装MySQL客户端软件,这样可以使用命令行或图形界面连接到MySQL数据库。获取连接信息:从云数据库提供商获取连接信息,包括主机名、端口号、数据库名称、用户名和密
云数据库mysql连接的方法是什么
2024-04-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录