暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

openGauss之jdbc测试用例

原创 IT烧麦(博) 2022-11-09
727

#package open1;

//DBtest.java
//演示基于JDBC开发的主要步骤,会涉及创建数据库、创建表、插入数据等。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

public class openClass {






	  //创建数据库连接。
	  public static Connection GetConnection(String username, String passwd) {
	    String driver = "org.opengauss.Driver";
	    String sourceURL = "jdbc:opengauss://192.168.204.141:15400/postgres";
	    Connection conn = null;
	    try {
	      //加载数据库驱动。
	      Class.forName(driver).newInstance();
	    } catch (Exception e) {
	      e.printStackTrace();
	      return null;
	    }

	    try {
	      //创建数据库连接。
	      conn = DriverManager.getConnection(sourceURL, username, passwd);
	      System.out.println("Connection succeed!");
	    } catch (Exception e) {
	      e.printStackTrace();
	      return null;
	    }

	    return conn;
	  };

	  //执行普通SQL语句,创建customer_t1表。
	  public static void CreateTable(Connection conn) {
	    Statement stmt = null;
	    try {
	      stmt = conn.createStatement();

	      //执行普通SQL语句。
	      int rc = stmt
	          .executeUpdate("CREATE TABLE customer_t1(c_customer_sk INTEGER, c_customer_name VARCHAR(32));");

	      stmt.close();
	    } catch (SQLException e) {
	      if (stmt != null) {
	        try {
	          stmt.close();
	        } catch (SQLException e1) {
	          e1.printStackTrace();
	        }
	      }
	      e.printStackTrace();
	    }
	  }

	  //执行预处理语句,批量插入数据。
	  public static void BatchInsertData(Connection conn) {
	    PreparedStatement pst = null;

	    try {
	      //生成预处理语句。
	      pst = conn.prepareStatement("INSERT INTO customer_t1 VALUES (?,?)");
	      for (int i = 0; i < 3; i++) {
	        //添加参数。
	        pst.setInt(1, i);
	        pst.setString(2, "data " + i);
	        pst.addBatch();
	      }
	      //执行批处理。
	      pst.executeBatch();
	      pst.close();
	    } catch (SQLException e) {
	      if (pst != null) {
	        try {
	          pst.close();
	        } catch (SQLException e1) {
	        e1.printStackTrace();
	        }
	      }
	      e.printStackTrace();
	    }
	  }

	  //执行预编译语句,更新数据。
	  public static void ExecPreparedSQL(Connection conn) {
	    PreparedStatement pstmt = null;
	    try {
	      pstmt = conn
	          .prepareStatement("UPDATE customer_t1 SET c_customer_name = ? WHERE c_customer_sk = 1");
	      pstmt.setString(1, "new Data");
	      int rowcount = pstmt.executeUpdate();
	      pstmt.close();
	    } catch (SQLException e) {
	      if (pstmt != null) {
	        try {
	          pstmt.close();
	        } catch (SQLException e1) {
	          e1.printStackTrace();
	        }
	      }
	      e.printStackTrace();
	    }
	  }



	  /**
	   * 主程序,逐步调用各静态方法。
	   * @param args
	  */
	  public static void main(String[] args) {
	    //创建数据库连接。
	    Connection conn = GetConnection("gsuser", "user#123");

	    //创建表。
	    CreateTable(conn);

	    //批插数据。
	    BatchInsertData(conn);

	    //执行预编译语句,更新数据。
	    ExecPreparedSQL(conn);



	    //关闭数据库连接。
	    try {
	      conn.close();
	    } catch (SQLException e) {
	      e.printStackTrace();
	    }

	  }


}
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论