Java实现oracle数据库的增删改查

创建用户

1.创建表空间(Oracle数据库是通过表空间来存储物理表的);
create tablespace h datafile ‘D:\h\hj.dbf’ size 2000M;
2.创建登录用户并分配表空间
create user jinjin identified by sa123 default tablespace h;
3.授权给新建的用户
Connect、Resource、DBA分别代表三种不同级别的权限
Connect 角色,是授予最终用户的典型权利,最基本的权利,能够连接到ORACLE数据库中,并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作
Resource 角色,是授予开发人员的,能在自己的方案中创建表、序列、视图等。
DBA角色,是授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限。
grant connect, resource to zhangfei;(授予权限)
grant dba to zhangfei;(授予权限)
grant create session to zhangfei;(允许zhangfei这个用户登录)

创建用户zhangfei并授予登入权限

create tablespace h datafile'd:\h\hj.dbf' size 200M;  --在D盘下创建一个文件夹h  大小200M
create user zhangfeiidentified by sa123  --创建用户: zhangfei 登入密码: sa123            
default tablespace h;   --默认表空间放在h文件夹
grant connect, resource to zhangfei;   --授予权限
grant create session to zhangfei;  --允许登入

创建一个student表

create table student
(
  sid varchar(10),    --学号
  sname varchar(10),  --名字
  address varchar(50) --地址
);

java连接orcale数据库

public class Test666 {

  public static void main(String[] args) {
     String url = "jdbc:oracle:thin:@localhost:1521:XE";//固定写法,1521是端口号,XE是数据库名称
     String user = "zhangfei";
     String password = "sa123";
     try {                                                                                                     
        Class.forName("oracle.jdbc.OracleDriver");//加载驱动
        Connection conn = DriverManager.getConnection(url,user,password); //创建连接对象(负责连接oracle数据库)
        System.out.println("连接成功");
    } catch (ClassNotFoundException | SQLException e)
       {
       e.printStackTrace();
      }
   }
}

插入操作:

public class Test01 {

  public static void main(String[] args) {
      String url = "jdbc:oracle:thin:@localhost:1521:XE";// 固定写法,1521是端口号,XE是数据库名称
      String user = "zhangfei";
      String password = "sa123";
   try {
       // 加载驱动
      Class.forName("oracle.jdbc.OracleDriver");
      // 创建连接对象(负责连接oracle数据库)
      Connection conn = DriverManager.getConnection(url, user, password);
      System.out.println("连接成功");
      String sql = "insert into student values('1002','张三','南昌红谷滩')";
      // 发送sql语句到oracle数据库
      PreparedStatement pstmt = conn.prepareStatement(sql);
      int count = pstmt.executeUpdate();// 发送sql并且执行增、删、改,返回受影响行数
      if (count > 0) {
           System.out.println("插入数据成功!");
       } else {
               System.out.println("插入数据失败!");
        }
      } catch (ClassNotFoundException | SQLException e) {
      e.printStackTrace();
      }
   }
}

通过键盘插入:

public class Test011 {
   public static void main(String[] args) {
      // TODO Auto-generated method stub
      //创建控制台输入对象 
      Scanner input=new Scanner(System.in);
      String url="jdbc:oracle:thin:@localhost:1521:XE";// 固定写法,1521是端口号,XE是数据库名称
      String user="zhangfei";
      String password="sa123";
      try {
         //加载驱动
         Class.forName("oracle.jdbc.OracleDriver");
         //创建连接对象(负责连接oracle数据库)
         Connection conn=DriverManager.getConnection(url, user, password);
         System.out.println("请输入学号:");
         int sNo=input.nextInt();
         System.out.println("请输入姓名:");
         String sName=input.next();
         System.out.println("请输入地址:");
         String sAddress=input.next();
         //编写SQL语句
        String sql="insert into student values(?,?,?)";
        //用来发送SQL语句到oracle数据库的
        PreparedStatement pstmt=conn.prepareStatement(sql);
        //1 2 3 依次根据3个问号 顺序插入值 
        pstmt.setInt(1,sNo);
        pstmt.setString(2,sName);
        pstmt.setString(3,sAddress);
       //发送SQL并且执行增、删、改语句,返回受影响行数
        int count=pstmt.executeUpdate();
        if (count>0) {
             System.out.println("插入数据成功!");
          }else{
                System.out.println("插入数据失败!");
        }
          //关闭资源
           pstmt.close();
           conn.close();
     } catch (ClassNotFoundException e) {
           e.printStackTrace();
       } catch (SQLException e) {
          e.printStackTrace();
     }
   }
 }

删除操作:

public class Test02 {
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  String url = "jdbc:oracle:thin:@localhost:1521:XE";// 固定写法,1521是端口号,XE是数据库名称
  String user = "zhangfei";
  String password = "sa123";
  try {
   // 1.加载驱动
   Class.forName("oracle.jdbc.OracleDriver");
   // 2.建立连接 ,创建连接对象(负责连接oracle数据库)
   Connection conn = DriverManager.getConnection(url, user, password);
   // 3.编写SQL语句
   String sql = "delete from student where sid='1002'";
   // 4.创建pstmt对象发送SQL到数据库
   PreparedStatement pstmt = conn.prepareStatement(sql);
   // 5.执行增、删、改操作,返回受影响行数
   int count = pstmt.executeUpdate();
   if (count > 0) {
    System.out.println("删除数据成功!");
   } else {
    System.out.println("删除数据失败!");
   }
   // 关闭资源
   pstmt.close();
   conn.close();
    } catch (ClassNotFoundException e) {
   e.printStackTrace();
    } catch (SQLException e) {
   e.printStackTrace();
    }
  }
}

修改操作:

public class Test03 {
   public static void main(String[] args) {
    // TODO Auto-generated method stub
      String url="jdbc:oracle:thin:@localhost:1521:XE";// 固定写法,1521是端口号,XE是数据库名称
      String user="zhangfei";
      String password="sa123";
      try {
          //1.加载驱动
          Class.forName("oracle.jdbc.OracleDriver");
          //2.建立连接 ,创建连接对象(负责连接oracle数据库)
          Connection conn=DriverManager.getConnection(url, user, password);
          //3.编写SQL语句
          String sql="update student set stuName='周杰伦',stuaddress='象湖' where stuno=1040";
          //4.创建pstmt对象发送SQL到数据库
          PreparedStatement pstmt=conn.prepareStatement(sql);
          //5.执行增、删、改操作,返回受影响行数
          int count=pstmt.executeUpdate();
          if (count>0) {
         System.out.println("修改数据成功!");
         }else{
         System.out.println("修改数据失败!");
         }
         //关闭资源
         pstmt.close();
         conn.close();
       } catch (ClassNotFoundException e) {
       e.printStackTrace();
      } catch (SQLException e) {
       e.printStackTrace();
     } 
   }
 }

查询操作:

public class Test04 {
   public static void main(String[] args) {
       // TODO Auto-generated method stub
        Connection conn = null;
     try {
        // 1.加载驱动
         Class.forName("oracle.jdbc.driver.OracleDriver");
          // 2.建立连接
         conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "zhangfei", "sa123"); // 固定写法,1521是端口号,XE是数据库名称
         // 3.sql
         String sql = "select *from student";
         // 4.创建statement对象
         Statement st = conn.createStatement();
         // 5.执行sql语句
         ResultSet rs = st.executeQuery(sql);
         // 6.遍历输出
         while (rs.next()) {// 判断集合有没有下一条记录
            int Sid = rs.getInt("sid");// 参数是字段民字,建议用大写
            String Sname = rs.getString("sname");
            String Address = rs.getString("address");
            System.out.println(Sid + "\t" + Sname + "\t" + Address);
          }
        } catch (Exception e) {
             e.printStackTrace();
        } finally {
   try {
       conn.close();
        } catch (SQLException e) 
            e.printStackTrace();
     }
   }
 }
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值