前期准备:
1.VMware workstation中配置了OpenEuler系统,并且在该系统上成功部署了OpenGauss2.0.0数据库。
2.完成远程连接部署(通过Data Studio工具能成功连接到本地opengauss数据库)
3.配置java环境为jdk1.8版本,具体请参考jdk配置。
4.下载opengauss2.0.0-openEuler系统x86_64版本的JDBC驱动安装包,下载完成后解压,找到postgresql.jar文件,将该文件放置到java项目文件夹下。
https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.1/x86_openEuler/openGauss-2.0.0-JDBC.tar.gz
连接过程
package HospitalDatabase;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.*;
public class PostgreSqlJdbcConnAddDatas {
public static void main(String args[]) {
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.postgresql.Driver");
/*
* @para:url,usename,password
* @return: null
*/
c = DriverManager.getConnection("jdbc:postgresql://192.168.159.129:26000/postgres","jack","gauss@111");
c.setAutoCommit(false);
System.out.println("连接数据库成功!");
stmt = c.createStatement();
/*
* @功能:插入数据
* @参数:表名称(列名1,列名2···列名n)+(数据1,数据2,···数据n)
*/
// String sql = "INSERT INTO Course (Cno,Cname,Cpno,Ccredit) "
// + "VALUES (1,'数据库',5,4);";
// stmt.executeUpdate(sql);
// System.out.println("新增数据成功!");
/*
* @功能:查询数据
* @参数:表名
*/
// ResultSet rs = stmt.executeQuery("select * from sc");
// while(rs.next()){
// int sno = rs.getInt("Sno");
// int cno = rs.getInt("cno");
// int grade = rs.getInt("Grade");
// System.out.println(cno + "," + cno + "," + grade);
// }
// System.out.println("查询数据成功!");
//
/*
* @功能:更新数据
* @参数:
*/
String sql = "UPDATE sc set grade = 250 where cno=1 ";
stmt.executeUpdate(sql);
c.commit();
ResultSet rs1 = stmt.executeQuery("select * from sc order by cno");
while(rs1.next()){
int sno = rs1.getInt("Sno");
int cno = rs1.getInt("Cno");
int grade = rs1.getInt("Grade");
System.out.println(sno + "," + cno + "," + grade);
}
System.out.println("更新数据成功!");
/*
* @功能:删除数据
* @参数:
*/
// String sql = "Delete from sc where Cno=2 ";
// stmt.executeUpdate(sql);
// c.commit();
//
// ResultSet rs1 = stmt.executeQuery("select * from sc order by cno");
// while(rs1.next()){
// int sno = rs1.getInt("Sno");
// int cno = rs1.getInt("Cno");
// int grade = rs1.getInt("Grade");
// System.out.println(sno + "," + cno + "," + grade);
// }
// System.out.println("删除数据成功!");
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("新增数据成功!");
}
}
注意问题
1.这里可以操作的表必须是能用命令\d tablename查看到表结构的表。