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

 

https://blog.csdn.net/u013456370/article/details/79668420

 

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

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

修改pom.xml文件:

 

 
  1. <!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->

  2. <dependency>

  3. <groupId>org.postgresql</groupId>

  4. <artifactId>postgresql</artifactId>

  5. <version>42.2.2</version>

  6. </dependency>

一、Java通过JDBC连接到PostgreSQL数据库

 

 

 
  1. package com.accord;

  2.  
  3. import java.sql.Connection;

  4. import java.sql.DriverManager;

  5.  
  6. public class PostgreSqlJdbcConn {

  7. @SuppressWarnings("unused")

  8. public static void main(String args[]) {

  9. Connection c = null;

  10. try {

  11. Class.forName("org.postgresql.Driver");

  12. c = DriverManager

  13. .getConnection("jdbc:postgresql://localhost:5432/db_person",

  14. "postgres", "123456");

  15. } catch (Exception e) {

  16. e.printStackTrace();

  17. System.err.println(e.getClass().getName()+": "+e.getMessage());

  18. System.exit(0);

  19. }

  20. System.out.println("Opened database successfully");

  21. }

  22. }

运行结果:Opened database successfully

 

二、创建表

 

 
  1. package com.accord;

  2.  
  3. import java.sql.Connection;

  4. import java.sql.DriverManager;

  5. import java.sql.Statement;

  6.  
  7. public class PostgreSqlJdbcConnCreateTable {

  8. public static void main(String args[]) {

  9. Connection c = null;

  10. Statement stmt = null;

  11. try {

  12. Class.forName("org.postgresql.Driver");

  13. c = DriverManager

  14. .getConnection("jdbc:postgresql://localhost:5432/db_person",

  15. "postgres", "123456");

  16. System.out.println("连接数据库成功!");

  17. stmt = c.createStatement();

  18. String sql = "CREATE TABLE COMPANY02 " +

  19. "(ID INT PRIMARY KEY NOT NULL," +

  20. " NAME TEXT NOT NULL, " +

  21. " AGE INT NOT NULL, " +

  22. " ADDRESS CHAR(50), " +

  23. " SALARY REAL)";

  24. stmt.executeUpdate(sql);

  25. stmt.close();

  26. c.close();

  27.  
  28. } catch (Exception e) {

  29. e.printStackTrace();

  30. System.err.println(e.getClass().getName()+": "+e.getMessage());

  31. System.exit(0);

  32. }

  33. System.out.println("新表创建成功!");

  34. }

  35. }

运行结果:

 

连接数据库成功!

新表创建成功!

三、插入数据

 

 
  1. package com.accord;

  2.  
  3. import java.sql.Connection;

  4. import java.sql.DriverManager;

  5. import java.sql.Statement;

  6.  
  7. public class PostgreSqlJdbcConnAddDatas {

  8. public static void main(String args[]) {

  9. Connection c = null;

  10. Statement stmt = null;

  11. try {

  12. Class.forName("org.postgresql.Driver");

  13. c = DriverManager.getConnection(

  14. "jdbc:postgresql://localhost:5432/db_person", "postgres",

  15. "123456");

  16. c.setAutoCommit(false);

  17.  
  18. System.out.println("连接数据库成功!");

  19. stmt = c.createStatement();

  20.  
  21. String sql = "INSERT INTO COMPANY02 (ID,NAME,AGE,ADDRESS,SALARY) "

  22. + "VALUES (1, 'Paul', 32, 'California', 20000.00 );";

  23. stmt.executeUpdate(sql);

  24.  
  25. sql = "INSERT INTO COMPANY02 (ID,NAME,AGE,ADDRESS,SALARY) "

  26. + "VALUES (2, 'Allen', 25, 'Texas', 15000.00 );";

  27. stmt.executeUpdate(sql);

  28.  
  29. sql = "INSERT INTO COMPANY02 (ID,NAME,AGE,ADDRESS,SALARY) "

  30. + "VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );";

  31. stmt.executeUpdate(sql);

  32.  
  33. sql = "INSERT INTO COMPANY02 (ID,NAME,AGE,ADDRESS,SALARY) "

  34. + "VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";

  35. stmt.executeUpdate(sql);

  36.  
  37. stmt.close();

  38. c.commit();

  39. c.close();

  40.  
  41. } catch (Exception e) {

  42. e.printStackTrace();

  43. System.err.println(e.getClass().getName() + ": " + e.getMessage());

  44. System.exit(0);

  45. }

  46. System.out.println("新增数据成功!");

  47. }

  48. }

运行结果:

 

连接数据库成功!

新增数据成功!

四、查询数据

 

 
  1. package com.accord;

  2.  
  3. import java.sql.Connection;

  4. import java.sql.DriverManager;

  5. import java.sql.ResultSet;

  6. import java.sql.Statement;

  7.  
  8. import javax.naming.spi.DirStateFactory.Result;

  9.  
  10. public class PostgreSqlJdbcConnSelectDatas {

  11. public static void main(String args[]) {

  12. Connection c = null;

  13. Statement stmt = null;

  14. try {

  15. Class.forName("org.postgresql.Driver");

  16. c = DriverManager.getConnection(

  17. "jdbc:postgresql://localhost:5432/db_person", "postgres",

  18. "123456");

  19. c.setAutoCommit(false);

  20.  
  21. System.out.println("连接数据库成功!");

  22. stmt = c.createStatement();

  23.  
  24. ResultSet rs = stmt.executeQuery("select * from company02");

  25. while(rs.next()){

  26. int id = rs.getInt("id");

  27. String name = rs.getString("name");

  28. int age = rs.getInt("age");

  29. String address = rs.getString("address");

  30. float salary = rs.getFloat("salary");

  31. System.out.println(id + "," + name + "," + age + "," + address.trim() + "," + salary);

  32. }

  33.  
  34. rs.close();

  35. stmt.close();

  36.  
  37. c.close();

  38.  
  39. } catch (Exception e) {

  40. e.printStackTrace();

  41. System.err.println(e.getClass().getName() + ": " + e.getMessage());

  42. System.exit(0);

  43. }

  44. System.out.println("查询数据成功!");

  45. }

  46. }

运行结果:

 

连接数据库成功!

查询数据成功!

五、更新数据

 

 
  1. package com.accord;

  2.  
  3. import java.sql.Connection;

  4. import java.sql.DriverManager;

  5. import java.sql.ResultSet;

  6. import java.sql.Statement;

  7.  
  8. import javax.naming.spi.DirStateFactory.Result;

  9.  
  10. public class PostgreSqlJdbcConnUpdateData {

  11. public static void main(String args[]) {

  12. Connection c = null;

  13. Statement stmt = null;

  14. try {

  15. Class.forName("org.postgresql.Driver");

  16. c = DriverManager.getConnection(

  17. "jdbc:postgresql://localhost:5432/db_person", "postgres",

  18. "123456");

  19. c.setAutoCommit(false);

  20.  
  21. System.out.println("连接数据库成功!");

  22. stmt = c.createStatement();

  23.  
  24. String sql = "Delete from COMPANY02 where ID=4 ";

  25. stmt.executeUpdate(sql);

  26. c.commit();

  27.  
  28. ResultSet rs = stmt.executeQuery("select * from company02 order by id");

  29. while(rs.next()){

  30. int id = rs.getInt("id");

  31. String name = rs.getString("name");

  32. int age = rs.getInt("age");

  33. String address = rs.getString("address");

  34. float salary = rs.getFloat("salary");

  35. System.out.println(id + "," + name + "," + age + "," + address.trim() + "," + salary);

  36. }

  37.  
  38. rs.close();

  39. stmt.close();

  40.  
  41. c.close();

  42.  
  43. } catch (Exception e) {

  44. e.printStackTrace();

  45. System.err.println(e.getClass().getName() + ": " + e.getMessage());

  46. System.exit(0);

  47. }

  48. System.out.println("更新数据成功!");

  49. }

  50. }

运行结果:

 

 

连接数据库成功!

更新数据成功!

六、删除数据

 

 
  1. package com.accord;

  2.  
  3. import java.sql.Connection;

  4. import java.sql.DriverManager;

  5. import java.sql.ResultSet;

  6. import java.sql.Statement;

  7.  
  8. import javax.naming.spi.DirStateFactory.Result;

  9.  
  10. public class PostgreSqlJdbcConnDeleteData {

  11. public static void main(String args[]) {

  12. Connection c = null;

  13. Statement stmt = null;

  14. try {

  15. Class.forName("org.postgresql.Driver");

  16. c = DriverManager.getConnection(

  17. "jdbc:postgresql://localhost:5432/db_person", "postgres",

  18. "123456");

  19. c.setAutoCommit(false);

  20.  
  21. System.out.println("连接数据库成功!");

  22. stmt = c.createStatement();

  23.  
  24. String sql = "UPDATE COMPANY02 set SALARY = 250 where ID=1 ";

  25. stmt.executeUpdate(sql);

  26. c.commit();

  27.  
  28. ResultSet rs = stmt.executeQuery("select * from company02 order by id");

  29. while(rs.next()){

  30. int id = rs.getInt("id");

  31. String name = rs.getString("name");

  32. int age = rs.getInt("age");

  33. String address = rs.getString("address");

  34. float salary = rs.getFloat("salary");

  35. System.out.println(id + "," + name + "," + age + "," + address.trim() + "," + salary);

  36. }

  37.  
  38. rs.close();

  39. stmt.close();

  40.  
  41. c.close();

  42.  
  43. } catch (Exception e) {

  44. e.printStackTrace();

  45. System.err.println(e.getClass().getName() + ": " + e.getMessage());

  46. System.exit(0);

  47. }

  48. System.out.println("删除数据成功!");

  49. }

  50. }

运行结果:

 

连接数据库成功!

 

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

删除数据成功!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java打印九九乘法表——CSDN博客

/*** * Title: test_jiujiu* Description: 该方法的主要作用&#xff1a;九九乘法表* param 设定文件 * return 返回类型&#xff1a;void * throws*/Testpublic void test_jiujiu(){//打印九九乘法表for (int i 1; i < 10; i) {for (int j 1; j < i; j) {System…

我的这10年——从机械绘图 到 炼油 到 微软MVP 的华丽转身

年底了&#xff0c;各种总结计划满天飞&#xff0c;有空的时候我也一直在思考这么多年&#xff0c;是怎么过来的。也曾经很迷茫&#xff0c;希望经验和经历能给大家一点带来一点正能量的东西。10年很长&#xff0c;10年前说实话我没有思考过现在的样子&#xff0c;但10年前的日…

MySQL中的共享锁与排他锁

转载自 MySQL中的共享锁与排他锁 在MySQL中的行级锁,表级锁,页级锁中介绍过&#xff0c;行级锁是Mysql中锁定粒度最细的一种锁&#xff0c;行级锁能大大减少数据库操作的冲突。行级锁分为共享锁和排他锁两种&#xff0c;本文将详细介绍共享锁及排他锁的概念、使用方式及注意事项…

基本类型和字符串互相转换

将基本数据类型转换成字符串 将字符串转换成基本数据类型

java操作字符串——CSDN博客

/*** * Title: test_class_arrat* Description: 该方法的主要作用&#xff1a;* param 设定文件 * return 返回类型&#xff1a;void * throws*/Testpublic void test_is_equals(){//String str1new String("我爱祖国。");//String str2new String("我爱祖…

C#如何使用ES

Elasticsearch简介 Elasticsearch &#xff08;ES&#xff09;是一个基于 Lucene 的开源搜索引擎&#xff0c;它不但稳定、可靠、快速&#xff0c;而且也具有良好的水平扩展能力&#xff0c;是专门为分布式环境设计的。 Elasticsearch是什么 Elasticsearch是一个基于Apache Luc…

MySQL中的读锁和写锁

转载自 MySQL中的读锁和写锁 在数据库的锁机制中介绍过&#xff0c;数据的锁主要用来保证数据的一致性的&#xff0c;数据库的锁从锁定的粒度上可以分为表级锁、行级锁和页级锁。在我的博客中重点介绍过MySQL数据库的行级锁。这篇文章主要来介绍一下MySQL数据库中的表级锁。 本…

springboot中配置mybatis连接postgresql

https://blog.csdn.net/y_qc_lookup/article/details/80178545 springboot中配置mybatis连接postgresql 置顶 Dylans 2018-05-03 15:49:46 41415 收藏 8 分类专栏&#xff1a; java 文章标签&#xff1a; springboot mybatis postgresql xml 版权 最近在使用springboot用于…

java向数组中插入元素

/*** * Title: test_insert_array* Description: 该方法的主要作用&#xff1a;像数组中插入元素* param 设定文件 * return 返回类型&#xff1a;void * throws*/Testpublic void test_insert_array(){Scanner scanner new Scanner(System.in);int [] list new …

CoreCLR源码探索(二) new是什么

前一篇我们看到了CoreCLR中对Object的定义&#xff0c;这一篇我们将会看CoreCLR中对new的定义和处理new对于.Net程序员们来说同样是耳熟能详的关键词&#xff0c;我们每天都会用到new&#xff0c;然而new究竟是什么&#xff1f; 因为篇幅限制和避免难度跳的太高&#xff0c;这一…

Mysql中的行级锁、表级锁、页级锁

转载自 Mysql中的行级锁、表级锁、页级锁 在计算机科学中&#xff0c;锁是在执行多线程时用于强行限制资源访问的同步机制&#xff0c;即用于在并发控制中保证对互斥要求的满足。 在数据库的锁机制中介绍过&#xff0c;在DBMS中&#xff0c;可以按照锁的粒度把数据库锁分为行级…

Math中的常用方法

package educoder; public class MathTest{public static void main(String args[]){ /** *Math.sqrt()//计算平方根*Math.cbrt()//计算立方根*Math.pow(a, b)//计算a的b次方*Math.max( , );//计算最大值*Math.min( , );//计算最小值*/System.out.println(Math.sqrt(16)); //4…

Springmvc中提交from之后不跳转不进控制器

今天在自学springmvc之后写了一个简单的案例&#xff0c;可是不管怎么改都不进入控制器Controller&#xff0c;找了好久之后原来是粗心有个地方写错了&#xff0c;详情请往下看&#xff1a; 在springmvx-servlet.xml里面&#xff1a; <!-- 配置HandlerMapping映射&#xff…

asp.net core 认证及简单集群

众所周知&#xff0c;在Asp.net WebAPI中&#xff0c;认证是通过AuthenticationFilter过滤器实现的&#xff0c;我们通常的做法是自定义AuthenticationFilter&#xff0c;实现认证逻辑&#xff0c;认证通过&#xff0c;继续管道处理&#xff0c;认证失败&#xff0c;直接返回认…

Java开发2018年值得学习的10大技术

转载自 Java开发2018年值得学习的10大技术 作为一个开发人员&#xff0c;我们最大的挑战就是保持自己了解新的技术。技术变化很快,你大概每两年就会看到一个新版本的编程语言和框架。 就拿2017年来说&#xff0c;AR、VR、区块链、人工智能等等已经扑面而来了。除了这些离我们…

Could not open ServletContext resource [/WEB-INF/springmvc-servlet.xml]【解决方案】

第一次自学springmvc的时候&#xff0c;老是报错Could not open ServletContext resource [/WEB-INF/springmvc-servlet.xml]&#xff0c;郁闷的不要不要的。按照配置规则重新检查了一遍&#xff0c;没看出问题来&#xff0c;上网搜了一下说在web.xml里面加入: <servlet>…

成小胖学习微服务架构·基础篇

看到最近“微服务架构”这个概念这么火&#xff0c;作为一个积极上进的程序猿&#xff0c;成小胖忍不住想要学习学习。而架构师老王&#xff08;不是隔壁老王&#xff09;最近刚好在做公司基础服务的微服务化研究和落地&#xff0c;对此深有研究。 于是成小胖马上屁颠屁颠的跑过…