Java连接PostgreSQL数据库,增删改查

news/2024/7/9 19:38:39 标签: postgresql, 数据库, java

通过eclipse工具,新建Maven项目:

添加:postgresql的jar包(我使用的是:版本:42.2.2)

修改pom.xml文件:

<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
	<dependency>
	    <groupId>org.postgresql</groupId>
	    <artifactId>postgresql</artifactId>
	    <version>42.2.2</version>
	</dependency>
一、Java通过JDBC连接到PostgreSQL数据库

java">package com.accord;
import java.sql.Connection;
import java.sql.DriverManager;
public class PostgreSqlJdbcConn {
	 @SuppressWarnings("unused")
	public static void main(String args[]) {
	      Connection c = null;
	      try {
	         Class.forName("org.postgresql.Driver");
	         c = DriverManager
	            .getConnection("jdbc:postgresql://localhost:5432/db_person",
	            "postgres", "123456");
	      } catch (Exception e) {
	         e.printStackTrace();
	         System.err.println(e.getClass().getName()+": "+e.getMessage());
	         System.exit(0);
	      }
	      System.out.println("Opened database successfully");
	   }
}
运行结果:Opened database successfully

二、创建表

java">package com.accord;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class PostgreSqlJdbcConnCreateTable {
	public static void main(String args[]) {
	      Connection c = null;
	      Statement stmt = null;
	      try {
	         Class.forName("org.postgresql.Driver");
	         c = DriverManager
	            .getConnection("jdbc:postgresql://localhost:5432/db_person",
	            "postgres", "123456");
	         System.out.println("连接数据库成功!");
	         stmt = c.createStatement();
	         String sql = "CREATE TABLE COMPANY02 " +
                     "(ID INT PRIMARY KEY     NOT NULL," +
                     " NAME           TEXT    NOT NULL, " +
                     " AGE            INT     NOT NULL, " +
                     " ADDRESS        CHAR(50), " +
                     " SALARY         REAL)";
	         stmt.executeUpdate(sql);
	         stmt.close();
	         c.close();
	      } catch (Exception e) {
	         e.printStackTrace();
	         System.err.println(e.getClass().getName()+": "+e.getMessage());
	         System.exit(0);
	      }
	      System.out.println("新表创建成功!");
	   }
}
运行结果:

连接数据库成功!

新表创建成功!

三、插入数据

java">package com.accord;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class PostgreSqlJdbcConnAddDatas {
	public static void main(String args[]) {
		Connection c = null;
		Statement stmt = null;
		try {
			Class.forName("org.postgresql.Driver");
			c = DriverManager.getConnection(
					"jdbc:postgresql://localhost:5432/db_person", "postgres",
					"123456");
			c.setAutoCommit(false);
			System.out.println("连接数据库成功!");
			stmt = c.createStatement();
			String sql = "INSERT INTO COMPANY02 (ID,NAME,AGE,ADDRESS,SALARY) "
					+ "VALUES (1, 'Paul', 32, 'California', 20000.00 );";
			stmt.executeUpdate(sql);
			sql = "INSERT INTO COMPANY02 (ID,NAME,AGE,ADDRESS,SALARY) "
					+ "VALUES (2, 'Allen', 25, 'Texas', 15000.00 );";
			stmt.executeUpdate(sql);
			sql = "INSERT INTO COMPANY02 (ID,NAME,AGE,ADDRESS,SALARY) "
					+ "VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );";
			stmt.executeUpdate(sql);
			sql = "INSERT INTO COMPANY02 (ID,NAME,AGE,ADDRESS,SALARY) "
					+ "VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";
			stmt.executeUpdate(sql);
			stmt.close();
			c.commit();
			c.close();
		} catch (Exception e) {
			e.printStackTrace();
			System.err.println(e.getClass().getName() + ": " + e.getMessage());
			System.exit(0);
		}
		System.out.println("新增数据成功!");
	}
}
运行结果:

连接数据库成功!

新增数据成功!

四、查询数据

java">package com.accord;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.naming.spi.DirStateFactory.Result;
public class PostgreSqlJdbcConnSelectDatas {
	public static void main(String args[]) {
		Connection c = null;
		Statement stmt = null;
		try {
			Class.forName("org.postgresql.Driver");
			c = DriverManager.getConnection(
					"jdbc:postgresql://localhost:5432/db_person", "postgres",
					"123456");
			c.setAutoCommit(false);
			System.out.println("连接数据库成功!");
			stmt = c.createStatement();
			ResultSet rs = stmt.executeQuery("select * from company02");
			while(rs.next()){
				int id = rs.getInt("id");
				String name = rs.getString("name");
				int age = rs.getInt("age");
				String address = rs.getString("address");
				float salary = rs.getFloat("salary");
				System.out.println(id + "," + name + "," + age + "," + address.trim() + "," + salary);
			}
			rs.close();
			stmt.close();
			c.close();
		} catch (Exception e) {
			e.printStackTrace();
			System.err.println(e.getClass().getName() + ": " + e.getMessage());
			System.exit(0);
		}
		System.out.println("查询数据成功!");
	}
}
运行结果:

连接数据库成功!

查询数据成功!

五、更新数据

java">package com.accord;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.naming.spi.DirStateFactory.Result;
public class PostgreSqlJdbcConnUpdateData {
	public static void main(String args[]) {
		Connection c = null;
		Statement stmt = null;
		try {
			Class.forName("org.postgresql.Driver");
			c = DriverManager.getConnection(
					"jdbc:postgresql://localhost:5432/db_person", "postgres",
					"123456");
			c.setAutoCommit(false);
			System.out.println("连接数据库成功!");
			stmt = c.createStatement();
			String sql = "Delete from COMPANY02 where ID=4 ";
			stmt.executeUpdate(sql);
			c.commit();
			ResultSet rs = stmt.executeQuery("select * from company02 order by id");
			while(rs.next()){
				int id = rs.getInt("id");
				String name = rs.getString("name");
				int age = rs.getInt("age");
				String address = rs.getString("address");
				float salary = rs.getFloat("salary");
				System.out.println(id + "," + name + "," + age + "," + address.trim() + "," + salary);
			}
			rs.close();
			stmt.close();
			c.close();
		} catch (Exception e) {
			e.printStackTrace();
			System.err.println(e.getClass().getName() + ": " + e.getMessage());
			System.exit(0);
		}
		System.out.println("更新数据成功!");
	}
}
运行结果:

连接数据库成功!

更新数据成功!

六、删除数据

java">package com.accord;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.naming.spi.DirStateFactory.Result;
public class PostgreSqlJdbcConnDeleteData {
	public static void main(String args[]) {
		Connection c = null;
		Statement stmt = null;
		try {
			Class.forName("org.postgresql.Driver");
			c = DriverManager.getConnection(
					"jdbc:postgresql://localhost:5432/db_person", "postgres",
					"123456");
			c.setAutoCommit(false);
			System.out.println("连接数据库成功!");
			stmt = c.createStatement();
			String sql = "UPDATE COMPANY02 set SALARY = 250 where ID=1 ";
			stmt.executeUpdate(sql);
			c.commit();
			ResultSet rs = stmt.executeQuery("select * from company02 order by id");
			while(rs.next()){
				int id = rs.getInt("id");
				String name = rs.getString("name");
				int age = rs.getInt("age");
				String address = rs.getString("address");
				float salary = rs.getFloat("salary");
				System.out.println(id + "," + name + "," + age + "," + address.trim() + "," + salary);
			}
			rs.close();
			stmt.close();
			c.close();
		} catch (Exception e) {
			e.printStackTrace();
			System.err.println(e.getClass().getName() + ": " + e.getMessage());
			System.exit(0);
		}
		System.out.println("删除数据成功!");
	}
}
运行结果:

连接数据库成功!

1,Paul,32,California,250.0
2,Allen,25,Texas,15000.0
3,Teddy,23,Norway,20000.0

删除数据成功!



http://www.niftyadmin.cn/n/1869212.html

相关文章

hive当前日期超前_hive函数之~日期函数

1、UNIX时间戳转日期函数: from_unixtime ***语法: from_unixtime(bigint unixtime[, string format])返回值: string说明: 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式hive>select from_unixtime(1323308943,yyyyMMdd) from tableNam…

java string at_详解Java String字符串获取每一个字符及常用方法|chu

前言对于字符串的操作&#xff0c;我们常用的就是trim()去除前后空格、subString()截取子字符串&#xff0c;其他的用的不多。下表中是字符串常用的方法。大家要记一记啊&#xff0c;特别是chartAt()方法比较重要的。因为一不小心就会被面试问到哦。因为&#xff0c;本人偶尔会…

解读Mysql索引

Mysql索引一.索引的数据结构二.Innodb索引的实现三. 阿里索引规约的解读一.索引的数据结构 索引是帮助数据库高效获取数据的一种排好序的数据结构。我们一般常用的数据结构有&#xff1a; 二叉树、红黑树、B-Tree、HashMap 先说下结论&#xff0c;mysql的索引不管存储引擎是in…

python文件信息排序_Python文件排序

按文件名称字符串小写排序images.sort(keylambda x: x.lower())按创建时间精确到秒排序images.sort(keylambda x: os.path.getctime(x))按创建时间&#xff0c;精确到纳秒排序images.sort(keylambda x: os.stat(x).st_ctime_ns)按文件名称去掉后缀的数值名称排序images.sort(ke…

强大的搜索开源框架Elastic Search介绍

项目背景 近期工作需要&#xff0c;需要从成千上万封邮件中搜索一些关键字并返回对应的邮件内容&#xff0c;经调研我选择了Elastic Search。 Elastic Search简介 Elasticsearch &#xff0c;简称ES 。是一个全文搜索服务器&#xff0c;也可以作为NoSQL 数据库&#xff0c;存…

kvm qemu ubnutu 升级_安装使用 QEMU-KVM 虚拟化系统(Arch Linux / Manjaro / CentOS / Ubuntu )...

个人笔记&#xff0c;不保证正确本文的目标是搭建一个 QEMU/KVM 学习环境&#xff0c;带 GUI。一、安装 QUEU/KVMQEMU/KVM 环境需要安装很多的组件&#xff0c;它们各司其职&#xff1a;qemu: 模拟各类输入输出设备(网卡、磁盘、USB端口等)qemu 底层使用 kvm 模拟 CPU 和 RAM&a…

Spring JPA无法提交jdbc事务的解决办法

项目中使用了spring jpa与spring jdbc但在实际使用中发现spring jdbc中的事务没有被提交到&#xff0c;处理方式主要有以下几点 确保工程中启用了事务 EnableTransactionManagement确保在方法上添加了事务注释 Transactional这两点在系统中都已经添加&#xff0c;但还是不生…

wd移动硬盘不能识别_移动硬盘不能正常读取, 教你一招轻松搞定它

这样就说明他的移动硬盘没有物理硬件上的故障问题&#xff0c;说明硬盘本身是好的&#xff0c;只是软件问题。首先&#xff0c;更换一条数据线&#xff0c;结果仍然一样无效&#xff0c;说明不是数据线的问题。经过询问&#xff0c;三副在别人电脑里面拷大片时候&#xff0c;电…