这两天一直在写java调用存储过程方面的程序,用到了DatabaseMetaData类,下面简单介绍下。
JDBC对数据库管理系统进行连接以后,得到一个Connection 对象,可以从这个对象获得有关数据库管理系统的各种信息,包括数据库中的各个表,表中的各个列,数据类型,触发器,存储过程等各方面的信息。获取这些信息的方法都是在DatabaseMetaData类的对象上实现的。
主要用到了其中的getProcedureColumns(String catalog,
String schemaPattern,
String procedureNamePattern,
String columnNamePattern)方法,其中的catalog表示在那个包下,schemePattern表示在哪个用户下,procedureNamePattern表示存储过程名,需要注意的是前两个参数虽然可以为null,但是没有特别需求的话最好不要传null,可以传“”,因为null会得到所有用户或包下的存储过程,如果不同的包中有同名的存储过程名的话就会解析出错。