面向对象程序设计(Java)实验12

实验内容和实验目的

一、实验目的

  1. 掌握Java数据库程序设计的基本方法。
    二、实验内容
    上机实现下列程序并观察程序的运行情况:
  2. 创建一学生数据库School,创建一表studb,包含字段:学号、姓名、性别、专业、入学年份。编写程序对studb表进行学生信息的增、删、改、查操作。

实验过程

实验要求里面没有要求是远程连接数据库还是本地连接,这里采用远程连接(数据库实验刚刚学了jdbc,这里就直接套用了)

远程连接

远程连接是基于OpenGauss数据库进行,需要postgresql.jar包。

环境配置可参考:
数据库实验九

简单来说环境配置步骤

  1. 修改postgresql.conf
  2. 修改pg_hba.conf
  3. 新建用户(openGauss不能使用默认账号omm连接)
  4. 将权限赋给新建的账户
  5. (配置客户端接入认证似乎是需要看电脑环境的其他配置情况,有些并不需要这一步)

代码:
远程创建表需要赋给角色系统权限

GRANT ALL PRIVILEGES TO shiyanjiu;

(ps:用户叫shiyanjiu是因为数据库实验九是远程连接)

在这里插入图片描述

package opengauss;

import java.sql.*;

public class java {

        //以下代码将获取数据库连接操作封装为一个接口,可通过给定用户名和密码来连接数据库。
        public static void main(String[] args) throws SQLException
        {
                //驱动类。
                String driver = "org.postgresql.Driver";
                //数据库连接描述符。
                String sourceURL = "jdbc:postgresql://192.168.56.124:26000/db_cc";
                Connection conn = null;

                try
                {
                        //加载驱动。
                        Class.forName(driver);
                }
                catch( Exception e )
                {
                        e.printStackTrace();
                }

                try
                {
                        //创建连接。
                        conn = DriverManager.getConnection(sourceURL, "shiyanjiu","openGauss@123");

                        Statement stmt = null;
                        // 执行查询
                        stmt = conn.createStatement();
                        //插入
                        String sql = "create table studb" +//建表的SQL语句
                                "(  sno int primary key," +
                                "   sname char(20)," +
                                "   sex char(5)," +
                                "   speciality char(20)," +
                                "   date date" +
                                " );";
                        Statement statement = conn.createStatement();
                        int rows = statement.executeUpdate(sql);

                        System.out.println("数据表创建成功");

                        statement.close();//关闭
                        conn.close();

                }
                catch(Exception e)
                {
                        e.printStackTrace();
                        return ;
                }

                return;
        }


}

在这里插入图片描述
增删改的话就变动代码中的sql语句就行

package opengauss;

import java.sql.*;

public class java {

        //以下代码将获取数据库连接操作封装为一个接口,可通过给定用户名和密码来连接数据库。
        public static void main(String[] args) throws SQLException
        {
                //驱动类。
                String driver = "org.postgresql.Driver";
                //数据库连接描述符。
                String sourceURL = "jdbc:postgresql://192.168.56.124:26000/db_cc";
                Connection conn = null;

                try
                {
                        //加载驱动。
                        Class.forName(driver);
                }
                catch( Exception e )
                {
                        e.printStackTrace();
                }

                try
                {
                        //创建连接。
                        conn = DriverManager.getConnection(sourceURL, "shiyanjiu","openGauss@123");

                        Statement stmt = null;
                        // 执行查询
                        stmt = conn.createStatement();
                        //插入
                        String sql = "insert into studb values('0001','张三','男','计算机类','2020-9-10');";
                        Statement statement = conn.createStatement();
                        int rows = statement.executeUpdate(sql);

                        System.out.println("数据插入成功");

                        statement.close();//关闭
                        conn.close();

                }
                catch(Exception e)
                {
                        e.printStackTrace();
                        return ;
                }

                return;
        }


}

在这里插入图片描述
连接数据库检查:
在这里插入图片描述在这里插入图片描述

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chiaki_0ff

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值