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

通过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数据库

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

二、创建表

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("新表创建成功!");
	   }
}
运行结果:

连接数据库成功!

新表创建成功!

三、插入数据

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("新增数据成功!");
	}
}
运行结果:

连接数据库功!

新增数据成功!

四、查询数据

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("查询数据成功!");
	}
}
运行结果:

连接数据库成功!

查询数据成功!

五、更新数据

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("更新数据成功!");
	}
}
运行结果:

连接数据库成功!

更新数据成功!

六、删除数据

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

删除数据成功!


  • 24
    点赞
  • 117
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
实现web增删改查功能,一般需要使用前端技术和后端技术以及数据库。以下是一种实现思路: 1. 前端实现: 在前端使用HTML、CSS和JavaScript等技术,搭建一个用户界面,包括输入框、按钮和表格等元素,用于用户输入要操作的数据和显示查询结果。 2. 后端实现: 使用一个后端框架(如Java的Spring、Python的Django等)来处理前端请求,以及进行数据增删改查操作。具体步骤如下: - 接收前端请求:后端通过接口接收前端的请求,包括增加、删除、修改和查询等操作。 - 连接数据库:后端通过连接数据库,建立与数据库连接,以便进行数据的操作。 - 增加数据:后端将从前端接收到的数据通过SQL语句插入到数据库中,完成数据的添加操作。 - 删除数据:后端通过SQL语句从数据库中删除指定的数据记录,完成数据的删除操作。 - 修改数据:后端通过SQL语句更新数据库中指定的数据记录,完成数据的修改操作。 - 查询数据:后端通过SQL语句从数据库中查询指定的数据记录,将查询结果返回前端。 3. 数据库实现: 选择一种适合的数据库系统,如MySQL、Oracle、PostgreSQL等。在数据库中创建相应的表格和字段,用于存储数据。根据实际需求,设置相应的约束条件,如主键、外键、唯一约束等,以确保数据的完整性和一致性。 综上所述,通过前端、后端和数据库的协作,可以实现web增删改查功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值