利用数据库的存储过程生成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;

猜你喜欢

转载自blog.csdn.net/dayulxl/article/details/78480938
今日推荐