Oracle与jdbc增删改查CRUD(Create-Read-Update-Delete)

2016-12-30 19:49:56来源:CSDN作者:MaoFachang人点击

一、创建oracle数据库用户并建表,插入测试数据

1.启动oracle监听程序并连接oracle数据库的服务

打开我的电脑--管理--服务和应用程序--服务,找到服务

OracleOraDb11g_home1TNSListenerOracleServiceORCL,启动。

启动完成后可以刷新,看一看“状态”是否是“正在运行”,是则进行下一步。


2.打开PL/SQL Developer,登陆oracle的管理员账户system


3.新建命令窗口,查看当前用户


4.查看所有账户状态:select username,account_status from dba_users;


5.进入j1666用户,查看用户下有哪些表


6.现在登陆管理员账户,在管理员账户下我们删除j1666用户及用户下的表,查询所有 用户,看看是否删除成功。


我刚才直接在命令窗口登陆system用户,准备执行drop user j1666 cascde;

消息显示“无法删除当前已连接的用户”,后来我关闭PL/SQL,重新登陆管理员账户,再执行,显示User dropped”用户删除。

个人猜测,是在进入j1666账户后,从j1666账户跳转到system账户,j1666还是连接着的,不能删除j1666;退出PL/SQL后重进system账户,j1666没有连接,可以删除。(个人猜测,不做依据)

7.好,进入重点!创建j1666账户并授权,并在j1666账户下新建一个dept


8.j1666账户下的dept表添加几条测试数据


记得插入数据后一定要commit提交,不提交的的话数据并没有真正保存。只能在当前 窗口查询到数据,打开一个新的命令窗口后,就查询不到了。

二、在java项目中通过jdbc连接oracle数据库,并对oracle数据库执行增删改查操作

1.MyEclipse中新建一个java项目:oracle_jdbc_01,并创建包和测试类。


2.找到Oracle安装目录的jdbc(D:/app/mfc/product/11.2.0/dbhome_1/jdbc/lib)下的

ojdbc.jar包,复制到java项目并Build Path


3.编写对数据库操作的方法


4.编写查询方法

	/**	 * 查询oracle数据库下j1666账户dept部门表的全部数据	 */	private static void t1() {		Connection con = null;		Statement st = null;		ResultSet rs = null;		try {			//1.加载oracle数据库驱动			Class.forName("oracle.jdbc.driver.OracleDriver");			//2.获取数据库连接			con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","j1666","j1666");			//3.获取执行sql语句的平台			st = con.createStatement();			//4.执行sql语句获取结果集			rs = st.executeQuery("select * from dept");			//5.循环获取结果集数据			while(rs.next()){				System.out.println(rs.getString("deptno")+"/t/t"+rs.getString("dname")+"/t/t"+rs.getString("loc"));			}					} catch (ClassNotFoundException e) {			// TODO Auto-generated catch block			e.printStackTrace();		} catch (SQLException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}finally{			//关闭rs			if(rs != null){				try {					rs.close();				} catch (SQLException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}			//关闭st			if(st != null){				try {					st.close();				} catch (SQLException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}			//关闭con			if(con != null){				try {					con.close();				} catch (SQLException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}		}	}

5.编写添加方法

	/**	 * 添加部门	 */	private static void t2() {		Connection con = null;		Statement st = null;		try {			//1.加载oracle数据库驱动			Class.forName("oracle.jdbc.driver.OracleDriver");			//2.获取数据库连接			con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","j1666","j1666");			//3.获取执行sql语句的平台			st = con.createStatement();			//4.执行sql语句插入数据			st.executeUpdate("insert into dept values(40,'研发69部','软件新区 1069')");								} catch (ClassNotFoundException e) {			// TODO Auto-generated catch block			e.printStackTrace();		} catch (SQLException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}finally{						//关闭st			if(st != null){				try {					st.close();				} catch (SQLException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}			//关闭con			if(con != null){				try {					con.close();				} catch (SQLException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}		}	}
6.编写修改方法
	/**	 * 修改部门	 */	private static void t3() {		Connection con = null;		Statement st = null;		try {			//1.加载oracle数据库驱动			Class.forName("oracle.jdbc.driver.OracleDriver");			//2.获取数据库连接			con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","j1666","j1666");			//3.获取执行sql语句的平台			st = con.createStatement();			//4.执行sql语句修改部门编号为40的部门			st.executeUpdate("update dept set dname='研发40部',loc='软件新区 1040' where deptno=40");					} catch (ClassNotFoundException e) {			// TODO Auto-generated catch block			e.printStackTrace();		} catch (SQLException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}finally{						//关闭st			if(st != null){				try {					st.close();				} catch (SQLException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}			//关闭con			if(con != null){				try {					con.close();				} catch (SQLException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}		}	}
7.编写删除方法
	/**	 * 删除部门	 */	private static void t4() {		Connection con = null;		Statement st = null;		try {			//1.加载oracle数据库驱动			Class.forName("oracle.jdbc.driver.OracleDriver");			//2.获取数据库连接			con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","j1666","j1666");			//3.获取执行sql语句的平台			st = con.createStatement();			//4.执行sql语句删除部门编号为40的部门			st.executeUpdate("delete dept where deptno=40");					} catch (ClassNotFoundException e) {			// TODO Auto-generated catch block			e.printStackTrace();		} catch (SQLException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}finally{						//关闭st			if(st != null){				try {					st.close();				} catch (SQLException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}			//关闭con			if(con != null){				try {					con.close();				} catch (SQLException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}		}	}

这样通过jdbc连接oracle数据库,实现对数据库的增删该查操作就全部完成了。^_^







最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台