1. 程式人生 > >利用資料庫的儲存過程生成java的formbean物件

利用資料庫的儲存過程生成java的formbean物件

根據表名生成相應的javabean,欄位都是字串的 --執行過程 begin   -- Call the procedure   prc_common_formbean(ps_project => :ps_project,                       bean => :bean); end; --儲存過程 create or replace procedure prc_common_formbean(PS_PROJECT in varchar2,                                                                                bean in varchar2) is
 cursor c is               select b.comments, b.column_name       from user_tab_columns a,user_col_comments b       where a.TABLE_NAME=b.table_name       and  a.COLUMN_NAME=b.column_name       and a.TABLE_NAME = upper(PS_PROJECT)      order by a.COLUMN_ID asc;      v_comments    user_col_comments.comments%TYPE;   v_column_name user_col_comments.column_name%type;
--  curnum number(4);   temp_columname varchar(255);   table_name varchar(255); begin   --Test statements here   dbms_output.enable(100000);   open c;     loop       fetch c         into v_comments, v_column_name;       exit when c%notfound;     end loop;   --   curnum:=c%rowcount;     close c;
       dbms_output.put_line('//以下根據需要增減欄位');      if lower(bean) = 'bean' then      dbms_output.put_line('import com.neusoft.framework.formbean.BaseFormBean;');
      table_name:=upper(substr(PS_PROJECT,1,1))||lower(substr(PS_PROJECT,2));       dbms_output.put_line('public class '||table_name||'FB extends BaseFormBean {');       dbms_output.put_line('private static final long serialVersionUID = 1L;');
       open c;     loop       fetch c         into v_comments, v_column_name;       exit when c%notfound;       temp_columname:=lower(v_column_name);       dbms_output.put_line('private String '||temp_columname||' ;//'||c%rowcount||'、'||v_comments);     end loop;     close c;
  dbms_output.put_line('}');    else     DBMS_OUTPUT.put_line('型別錯誤');   end if; end prc_common_formbean;