mysql 生成java bean 類

CREATE  PROCEDURE `proc_generate_api_bean`(IN in_table varchar(1000))
BEGIN
select CONCAT('@Entity\n','@Table(name=\"',in_table,'\")\n','public class ',func_humpString(in_table,'_'),'{','\n') from dual
union
select DISTINCT
                concat(
                '\t/** ',c.COLUMN_COMMENT,'*/ \n',
        if (c.ORDINAL_POSITION = 1,'\t@Id \n\t@GeneratedValue\n',''),
                if (c.DATA_TYPE = 'DATETIME','\t@Convert(converter = LocalDateTimeConverter.class) \n',''),
                '\t@Column(name =\"',c.COLUMN_NAME,'\") \n',
                '\tprivate ' ,(
                    case 
                            when c.DATA_TYPE = 'LONGTEXT' then 
                                    'String '
                            when c.DATA_TYPE = 'VARCHAR' then               
                                   'String '
              when c.DATA_TYPE = 'CHAR' then   
                                        'String '
              when c.DATA_TYPE = 'DATE' then    
                     'Date '
                            when c.DATA_TYPE = 'NUMBER' then
                     'Integer '
              when c.DATA_TYPE = 'BIGINT' then
                     'Long '       
                            when c.DATA_TYPE = 'mediumtext' then 
                                         'String '
              when c.DATA_TYPE = 'INT' then
                     'Long '       
                            when c.DATA_TYPE = 'DATETIME' then
                                         'LocalDateTime '
                            when c.DATA_TYPE = 'timestamp' then
                                         'LocalDateTime '
                            when c.DATA_TYPE = 'DECIMAL' then
                                         'BigDecimal '
                            when c.DATA_TYPE = 'ENUM' then
                                         'String '
                            when c.DATA_TYPE = 'TEXT' then
                                         'String '
                            when c.DATA_TYPE = 'MEDIUMINT' then 
                                         'Integer '
                            when c.DATA_TYPE = 'tinyint' then 
                                         'Integer '
                            when c.DATA_TYPE = 'FLOAT' then 
                                         'Float '
              end), func_humpString(c.COLUMN_NAME,'_'),'; \n') as '屬性信息'  from information_schema.columns c
where c.TABLE_NAME = in_table
union 
select '}' from dual;
CREATE  FUNCTION `func_split`(f_string varchar(1000),f_delimiter varchar(5),f_order int) RETURNS varchar(255) CHARSET utf8
BEGIN 

        # 拆分傳入的字符串酌畜,返回拆分后的新字符串 
        declare result varchar(255) default ''; 
        set result = reverse(substring_index(reverse(substring_index(f_string,f_delimiter,f_order)),f_delimiter,1)); 

        return result; 

END
CREATE  FUNCTION `func_split_TotalLength`(f_string varchar(1000),f_delimiter varchar(5)) RETURNS int(11)
BEGIN 

    # 計算傳入字符串的總length 

    return 1+(length(f_string) - length(replace(f_string,f_delimiter,''))); 

END
CREATE  FUNCTION `func_humpString`(f_string varchar(1000),f_delimiter varchar(5)) RETURNS varchar(255) CHARSET utf8
BEGIN
    declare cnt int default 0;
  declare i int default 1; 
  declare result varchar(255) default '';
  declare all_s varchar(255) default '';

    set result = func_split(f_string,f_delimiter,i);
  set cnt = func_split_TotalLength(f_string,f_delimiter);
  while i < cnt
    do 
    set i = i + 1;
    set all_s = func_split(f_string,f_delimiter,i);
        set result = concat(result,upper(left(all_s,1)),substring(all_s,2));
  end while;
    return result;
END
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末添坊,一起剝皮案震驚了整個濱河市充石,隨后出現(xiàn)的幾起案子誉尖,更是在濱河造成了極大的恐慌,老刑警劉巖沽一,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異遇革,居然都是意外死亡什燕,警方通過查閱死者的電腦和手機粘勒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屎即,“玉大人庙睡,你說我怎么就攤上這事〖祭” “怎么了乘陪?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長雕擂。 經(jīng)常有香客問我啡邑,道長,這世上最難降的妖魔是什么井赌? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任谤逼,我火速辦了婚禮,結果婚禮上仇穗,老公的妹妹穿的比我還像新娘流部。我一直安慰自己,他們只是感情好纹坐,可當我...
    茶點故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布枝冀。 她就那樣靜靜地躺著,像睡著了一般耘子。 火紅的嫁衣襯著肌膚如雪果漾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天拴还,我揣著相機與錄音跨晴,去河邊找鬼欧聘。 笑死片林,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的怀骤。 我是一名探鬼主播费封,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蒋伦!你這毒婦竟也來了弓摘?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤痕届,失蹤者是張志新(化名)和其女友劉穎韧献,沒想到半個月后末患,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡锤窑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年璧针,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渊啰。...
    茶點故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡探橱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绘证,到底是詐尸還是另有隱情隧膏,我是刑警寧澤,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布嚷那,位于F島的核電站胞枕,受9級特大地震影響,放射性物質發(fā)生泄漏魏宽。R本人自食惡果不足惜曲稼,卻給世界環(huán)境...
    茶點故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望湖员。 院中可真熱鬧贫悄,春花似錦、人聲如沸娘摔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凳寺。三九已至鸭津,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間肠缨,已是汗流浹背逆趋。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留晒奕,地道東北人闻书。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像脑慧,于是被迫代替她去往敵國和親魄眉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容