利用資料庫的儲存過程生成java的formbean物件
阿新 • • 發佈:2018-12-11
根據表名生成相應的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;
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;