Mysqlフィールドとjavaエンティティクラスの属性タイプのマッチング方法
Mysqlフィールドとjavaエンティティクラスの属性タイプが一致します。
下図を参照してください
データベースフィールドをエンティティフィールドに変換
データベースフィールドは必ず「_」でなければなりません。オブジェクトに分割すると、ラクダ形のフィールドになります。
たとえば:
以上は個人の経験ですので、参考にしていただければと思います。
下図を参照してください
データベースフィールドをエンティティフィールドに変換
DROP FUNCTION IF EXISTS f_spiltStr;
CREATE FUNCTION `f_spiltStr`(DATA1 varchar(50)) RETURNS varchar(1000) CHARSET utf8
BEGIN
SET @length = LENGTH(DATA1) - LENGTH(REPLACE(DATA1,'_',''));
SET @i = 1;
set @result = '';
WHILE @i<@length+1
DO
set @i = @i + 1;
SET @val=SUBSTRING_INDEX(SUBSTRING_INDEX(DATA1,'_',@i),'_',-1);
set @val = CONCAT(upper(left(@val,1)),substring(@val,2));
set @result = CONCAT(@result,@val);
END WHILE;
set @result = CONCAT(SUBSTRING_INDEX(DATA1,'_',1),@result);
RETURN @result;
END
select
'private',
case DATA_TYPE
when 'bigint' then 'Integer'
when 'int' then 'Integer'
when 'varchar' then 'String'
when 'decimal' then 'BigDecimal'
when 'datetime' then 'Date'
when 'timestamp' then 'Date'
end,
CONCAT(f_spiltStr( COLUMN_NAME),';'),CONCAT('//',COLUMN_COMMENT)
from information_schema.columns where table_schema='flint_shop' and table_name='sys_menu'
要求:データベースフィールドは必ず「_」でなければなりません。オブジェクトに分割すると、ラクダ形のフィールドになります。
たとえば:
sys_menu_name ------> sysMenuName
先に上のローカル関数を実行して次の検索文を実行します。以上は個人の経験ですので、参考にしていただければと思います。