`
nose
  • 浏览: 14319 次
  • 性别: Icon_minigender_1
  • 来自: 陕西
社区版块
存档分类
最新评论

仿SQLPLUS

阅读更多
实现sqlplus的功能,代码如下:
import java.sql.*;
import java.io.*;

public class SQLTools{
   public static void main(String[] args){
    StringBuffer info=new StringBuffer();
    info.append("-------read me--------\n");
    info.append("commit;---excute con.commit();---\n");
    info.append("rollback;---excute con.rollback();---\n");
    info.append("sqlString;---excute sql command;---\n");
    info.append("quit;---excute con.commit() and quit program---\n");
    info.append("-----------end-----------\n");
    System.out.println(info.toString());
    Connection con= null;
    while((con=getConnection())==null){}
    try{
       con.setAutoCommit(false);
       StringBuffer sb=new StringBuffer();
       String cmd="";
       boolean flag=true;
       int c=0;
       String message="";
       while(flag){
        
          if(c++==0){
            message="SQLTools-> ";
             }else{
        message=c+"-> ";
              }
          sb.append(prompt(message));
          cmd=sb.toString().trim();
          if(cmd.endsWith(";")){
             String sql=cmd.substring(0,cmd.length()-1);

             if("quit".equals(sql)){
           flag=false;
            con.commit();
             sb=new StringBuffer();
            c=0;
              }else if("commit".equals(sql)){
            con.commit();
             sb=new StringBuffer();
            c=0;
        }else if("rollback".equals(sql)){
            con.rollback();
            sb=new StringBuffer();
            c=0;
        }else{
            System.out.println(sql);
            execute(sql,con);
            sb=new StringBuffer();
            c=0;
        }
          }
       }
  
    }catch(Exception e){System.out.println("rollback");
                try{if(con!=null)con.rollback();
                   }catch(Exception e3){e3.printStackTrace();}
               }
    finally{JdbcUtil.release(con);}
   }
   public static Connection getConnection(){
  
    String message="url:\n";
    String url=prompt(message);
    message="username:\n";
    String username=prompt(message);
    message="password:\n";
    String pwd=prompt(message);
    Connection con=null;
    try{
       con=DriverManager.getConnection(url,username,pwd);
    }catch(Exception e){System.out.println("->connection failed");}
    return con;
   }
   public static String prompt(String message){
    BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
    System.out.println(message);
    String input="";
    try{
       input=in.readLine();
    }catch(Exception e){e.printStackTrace();}
    return input;
   }
   public static void execute(String sql,Connection con)throws Exception{
    int c=0;
    Statement stmt=null;
    ResultSet rs=null;
    try{
       stmt=con.createStatement();
       if(stmt.execute(sql)){
          rs=stmt.getResultSet();
          JdbcUtil.printRs(rs);
       }else{
          c=stmt.getUpdateCount();
          System.out.println("update succefully!"+c);
       }
    }catch(Exception e){System.out.println("database manipulation failed!");}
    finally{JdbcUtil.release(rs,stmt,null);}

   }
}
分享到:
评论

相关推荐

    sqlplus11.2 rpm安装包

    SQLPlus是Oracle数据库管理系统中的一个命令行工具,用于执行SQL语句、PL/SQL块以及管理数据库。在Linux系统中,通常使用RPM(Red Hat Package Manager)格式的安装包来部署软件。以下是对"sqlplus11.2 rpm安装包"的...

    Sqlplus_登录数据库

    "Sqlplus 登录数据库" Sqlplus 是 Oracle 数据库管理系统中的一种命令行工具,用于与 Oracle 数据库进行交互。Sqlplus 登录数据库是指使用 Sqlplus 工具连接到 Oracle 数据库的过程。在这个过程中,用户需要输入...

    java做的Sqlplus

    标题中的“java做的Sqlplus”指的是一个用Java编程语言实现的SQL客户端工具,它模仿了Oracle公司的经典数据库管理工具——Sqlplus。Sqlplus是Oracle数据库管理员和开发人员常用的命令行工具,用于执行SQL语句、PL/...

    sqlplus常用命令参数

    Sqlplus 常用命令参数 Sqlplus 是 Oracle 数据库管理系统中的一种命令行工具,用于交互式地访问和管理 Oracle 数据库。下面是 Sqlplus 中的一些常用命令参数: 登录系统用户 Sqlplus 提供了多种方式来登录系统用户...

    sqlplus中批量执行sql文件

    ### SQLPlus中批量执行SQL文件的方法 在日常的数据库管理工作中,经常需要对数据库进行批量操作,例如批量执行SQL脚本、更新存储过程等。在这些场景下,使用Oracle提供的命令行工具SQLPlus来批量执行SQL文件是一种...

    sqlplus help 加强版

    在$ORACLE_HOME/sqlplus/admin/help 包含了四个文件:helpbld.sql helpdrop.sql helpus.sql hlpbld.sql oracle自带的help和?的解释太少,如果自己找到其它更全的脚本也放到这个目录下,便于管理。 用system用户...

    Oracle SQLPLUS基础及sqlplus命令详解

    Oracle SQL*Plus是Oracle数据库中一个重要的命令行工具,用于执行SQL语句和PL/SQL代码,管理数据库,以及格式化输出结果。它既是Oracle开发者日常工作中不可或缺的工具,也是数据库管理员进行日常维护和故障排查时的...

    sqlplus教程(中文)

    SQLPlus是Oracle公司提供的一款强大的命令行工具,用于与Oracle数据库进行交互。它不仅支持基本的SQL查询,还可以执行复杂的数据库管理和开发任务。本教程旨在详细介绍SQLPlus的使用方法以及SQL语言在Oracle环境中的...

    sqlplus连接数据库方法

    在IT行业中,数据库管理是至关重要的任务之一,而Oracle数据库作为全球广泛使用的数据库管理系统,其管理工具sqlplus是系统管理员和开发人员常用的交互式接口。本文将详细介绍如何使用sqlplus登录Oracle数据库,包括...

    Oracle SQLPlus最新手册

    《Oracle SQLPlus最新手册》深度解析 一、引言 Oracle SQLPlus作为Oracle数据库系统中的一个强大工具,为用户提供了直接与数据库交互的能力。本文旨在深入解析《Oracle SQLPlus最新手册》,提炼出其中的关键知识点...

    sqlplusw 与 sqlplus登陆数据库的方法总结

    sqlplusw 与 sqlplus 登陆数据库的方法总结主要涉及到 Oracle 数据库的登录方法,包括 sqlplusw 工具、sqlplus 命令、PL/SQL 工具和 iSqlplus 登录 oracle 数据库的方法。 首先,需要了解 Oracle 数据库的基本概念...

    SQLPLUS命令查询文档

    SQLPLUS是Oracle数据库系统中的一个命令行工具,用于执行SQL语句和PL/SQL块,进行数据查询、数据库管理以及数据库脚本的编写。这个"SQLPLUS命令查询文档"很可能是一个详细介绍了SQLPLUS使用方法的CHM(Compiled ...

    SQLPlus命令

    SQLPlus命令,SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令SQLPlus命令

    SQLPlus中的复制和粘贴技巧

    在SQLPlus中,复制和粘贴是日常操作的一部分,尤其对于数据库管理员和开发人员来说,高效地处理SQL脚本和查询结果至关重要。SQLPlus虽然不如图形化的数据库管理工具直观,但通过掌握一些实用技巧,我们可以提高在该...

    SQLPLUS命令.rar

    SQLPLUS是Oracle数据库系统提供的一款强大的命令行工具,它允许用户直接与数据库进行交互,执行SQL查询、数据操作、数据库管理等任务。本教程将深入介绍SQLPLUS的使用方法,帮助你更好地掌握这个不可或缺的数据管理...

    sqlplus 批处理

    在IT领域,数据库管理是至关重要的任务,而SQLPLUS作为一个强大的命令行工具,为Oracle数据库管理员和开发人员提供了高效的操作界面。批处理是提高工作效率的重要手段,它允许用户一次性执行多个SQL语句,而非逐个...

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.zip

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.ziporacle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.ziporacle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.ziporacle-instantclient11.2-sqlplus...

    详细介绍ORACLE sqlplus命令

    详细介绍ORACLE sqlplus命令,详细介绍ORACLE sqlplus命令

    SQLPLUS+操作大全

    "SQLPLUS操作大全" SQLPLUS 是 Oracle 提供的一个工具程序,它不仅可以用于测试、运行 SQL 语句和 PL/SQL 块,而且还可以用于管理 Oracle 数据库。下面是 SQLPLUS 的一些重要操作知识点: 一、启动 SQLPLUS 要...

Global site tag (gtag.js) - Google Analytics