JDBC连接oracle数据库(增删改查)

新建数据库user,创建表users为方便仅定义两个字段username,password

sqlplus scott/tiger


CREATE TABLE users(username varchar2(32) primary key,password varchar2(64);

新建类Doo.java

<pre class="java" name="code">package ww.jdbc;

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

public class Doo {
	public  void find() {

		ResultSet rs = null;
		Statement stmt = null;
		Connection conn = null;
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conn = DriverManager.getConnection(
					"jdbc:oracle:thin:@127.0.0.1:1521:user", "scott", "tiger");
			stmt = conn.createStatement();
			rs = stmt.executeQuery("select * from users");
			while (rs.next()) {
				System.out.println("用户名:"+rs.getString("username"));
				System.out.println("密码:"+rs.getString("password"));
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				if (rs != null) {
					rs.close();
					rs = null;
				}
				if (stmt != null) {
					stmt.close();
					stmt = null;
				}
				if (conn != null) {
					conn.close();
					conn = null;
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

	public void reg(String username,String password) {
		Connection conn = null;
		PreparedStatement pstmt = null;
		
		try {
			StringBuilder sql = new StringBuilder();
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conn = DriverManager.getConnection(
					"jdbc:oracle:thin:@127.0.0.1:1521:user", "scott", "tiger");

			sql.append("insert into users(username,password) ");
			sql.append("values(?,?)");
			pstmt = conn.prepareStatement(sql.toString());
			pstmt.setString(1, username);
			pstmt.setString(2, password);
			pstmt.executeUpdate();
			pstmt.close();
			conn.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void edit(String username,String Nusername,String Npassword) throws SQLException {
		Connection conn = null;
		PreparedStatement pstmt = null;
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conn = DriverManager.getConnection(
					"jdbc:oracle:thin:@127.0.0.1:1521:user", "scott", "tiger");

			StringBuilder sql = new StringBuilder();
			sql.append("update users set username=?,password=? where username=?");
			pstmt = conn.prepareStatement(sql.toString());
			pstmt.setString(3, username);
			pstmt.setString(1, Nusername);
			pstmt.setString(2, Npassword);
			pstmt.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			pstmt.close();
			conn.close();
		}
	}
	
	public void delete(String username) throws SQLException{
		Connection conn = null;
		PreparedStatement pstmt = null;
		
		try{
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conn = DriverManager.getConnection(
					"jdbc:oracle:thin:@127.0.0.1:1521:user", "scott", "tiger");
			pstmt = conn.prepareStatement("delete from users where username=?");
			pstmt.setString(1, username);
			pstmt.executeUpdate();
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			pstmt.close();
			conn.close();
		}
	}

}

 


 

 

测试类Test.java

package ww.jdbc;

import java.sql.SQLException;
import java.util.Scanner;



public class Test {

	public static void main(String[] args) throws SQLException {
		Doo doo=new Doo();
		
		while(true){
			System.out.println("1查看 	2 插入 	3 修改 	4 删除");
			Scanner sc=new Scanner(System.in); 

			int str=sc.nextInt(); 
			if(str==1){
				doo.find();
			}else if(str==2){
				System.out.println("请输入用户名");
				String username=sc.next();
				System.out.println("请输入密码");
				String password=sc.next();
 				doo.reg(username,password);
			}else if(str==3){
				System.out.println("请输入原用户名");
				String username=sc.next();
				System.out.println("请输入新用户名");
				String Nusername=sc.next(); 
				System.out.println("请输入新密码");
				String Npassword=sc.next();
				doo.edit(username,Nusername,Npassword);
			}else if(str==4){
				System.out.println("请输入需要删除的用户名");
				String username=sc.next();
				doo.delete(username);
			}

		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值