用JDBC寫的對oracle數據庫增刪改查的小程序

package com.neusoft;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class MainProgram {

 /**
  * @param args
  */
 /**
  * 需求是:1:輸入a添加用戶信息2:輸入b查詢所有用戶信息3:輸入c刪除一個用戶信息4:輸入d更新一個用戶信息5:輸入e退出程序 
  * 要一步一步的輸入,直到輸入e結束本程序
  * 運行本程序之前請確保一下連個條件
   1:你的oracle數據庫裏先建好users表,表裏面有兩列id,number類型;name,varchar2(20);
   sql語句:
   CREATE TABLE users
  (
  ID NUMBER PRIMARY KEY,
  NAME varchar2(20)
  );
  2:確認一下你的oracle數據庫,我的oracle端口是1521,用戶名:hr,密碼:hr。你連接數據庫的時候注意一下你的數據庫信息
  3:本程序還有不足,請大神指教,聯繫QQ:136304953  微博:http://t.51cto.com/lst136
 */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  System.out.println("本程序主要功能是:\n" + "1:輸入a添加用戶信息\n" + "2:輸入b查詢所有用戶信息\n"
    + "3:輸入c刪除一個用戶信息\n" + "4:輸入d更新一個用戶信息\n" + "5:輸入e退出程序\n");
  System.out.println("請輸入你所有選擇的功能:");
  Scanner input = new Scanner(System.in);//輸入所要選擇的功能
  if ("a".equals(input.next())) {//輸入a後添加用戶信息
   System.out.println("請輸入你要添加用戶的id:");
   Scanner ipt = new Scanner(System.in);
   int id = ipt.nextInt();

   try {
    Class.forName("oracle.jdbc.driver.OracleDriver");//加載數據庫驅動
    String url = "jdbc:oracle:thin:@localhost:1521:oracle";//定義連接的數據庫
    Connection conn = DriverManager.getConnection(url, "hr", "hr");//連接數據庫
    String sql = "insert into users values(?,?)";//定義sql語句
    PreparedStatement ps = conn.prepareStatement(sql);//預編譯sql語句
    ps.setInt(1, id);
    ps.setString(2, "寶貝");
    if (ps.executeUpdate() > 0) {//判斷sql語句是否執行成功
     System.out.println("添加用戶id:" + id + "的信息成功");
    }
    ps.close();//退出預編譯
    conn.close();//退出數據庫連接

   } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

  }
 
  if ("b".equals(input.next())) {//輸入b後顯示用戶的信息
   try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    String url = "jdbc:oracle:thin:@localhost:1521:oracle";
    Connection conn = DriverManager.getConnection(url, "hr", "hr");
    String sql = "select *from users";
    PreparedStatement ps = conn.prepareStatement(sql);
    ResultSet rs = ps.executeQuery();
    while (rs.next()) {
     int id = rs.getInt("id");
     String name = rs.getString("name");
     System.out.println(id + ":" + name);

    }
    rs.close();
    ps.close();
    conn.close();
   } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

  }
  if ((input.next()).equals("c")) {//輸入c後刪除用戶的信息
   try {
    System.out.println("請你輸入要刪除用戶的id:");
    Scanner input1 = new Scanner(System.in);
    int id = input1.nextInt();
    Class.forName("oracle.jdbc.driver.OracleDriver");
    String url = "jdbc:oracle:thin:@localhost:1521:oracle";
    Connection conn = DriverManager.getConnection(url, "hr", "hr");
    String sql = "delete from users where id=?";
    PreparedStatement ps = conn.prepareStatement(sql);
    ps.setInt(1, id);
    if (ps.executeUpdate() > 0) {
     System.out.println("刪除用戶成功!!!");
    }
    ps.close();
    conn.close();

   } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

  }
  if ((input.next()).equals("d")) {//輸入d後修改用戶的信息
   System.out.println("請輸入要修改用戶的id:");
   Scanner input2 = new Scanner(System.in);
   int id = input2.nextInt();

   try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    String url = "jdbc:oracle:thin:@localhost:1521:oracle";
    Connection conn = DriverManager.getConnection(url, "hr", "hr");
    String sql = "update users set name=? where id=?";
    PreparedStatement ps = conn.prepareStatement(sql);
    ps.setString(1, "妹妹");
    ps.setInt(2, id);
    if (ps.executeUpdate() > 0) {
     System.out.println("修改用戶id=" + id + "的信息成功");
    }
    ps.close();
    conn.close();

   } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

  }
  if ((input.next()).equals("e")) {//輸入e後退出本程序
   System.exit(0);

  }

 }

}
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章