JDBC_Oracle_怎个删改查这题怎么写,完整版。

2025-03-22 11:45:17
推荐回答(1个)
回答1:

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

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

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

OracleOraDb11g_home1TNSListener和OracleServiceORCL,启动。

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


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.编写查询方法

[java] view plain copy

  • /** 

  • * 查询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.编写添加方法
  • [java] view plain copy

  • /** 

  • * 添加部门 

  • */  

  • 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.编写修改方法

  • [java] view plain copy

  • /** 

  • * 修改部门 

  • */  

  • 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.编写删除方法

  • [java] view plain copy

  • /** 

  • * 删除部门 

  • */  

  • 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数据库,实现对数据库的增删该查操作就全部完成了。^_^