2017-02-08 9 views
0

Мне нужно сохранить в одном из столбец базы данных MySQL с именем «свойства», строка, представляющая как 7-элементный кепп свойств cpu, например:способ поиска ключевых значений внутри tupple как столбца строки в MySQL

tupple: TOTALRAM, NumOfcores, OSImage, IsHyperThreaded

фактической строки: 200,3, LinuxSET EC Image SLES11SP4-4 Revision 0 IA32e, правда

, чем мне нужно т о быть в состоянии делать запросы, как: вернуть все строки, которые - NumOfCores == 2 & & isHyperThread == истинный

Im работая с curdrepository внутри контекста весна загрузки. база данных MySql, но версия, которая не имеет JSON тип данных.

Что было бы лучшим способом сохранить и запросить этот тип tupple/string?

спасибо

ответ

0

Вы должны разделить STRING. Вот образцы для вашего 4 Аргумента

-- TotalRam 
SELECT SUBSTRING_INDEX('200,3,LinuxSET EC Image SLES11SP4-4 Revision 0 ia32e,true',',',1); 

-- NumOfcores 
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('200,3,LinuxSET EC Image SLES11SP4-4 Revision 0 ia32e,true',',',2),',',-1); 

-- OsImage 
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('200,3,LinuxSET EC Image SLES11SP4-4 Revision 0 ia32e,true',',',3),',',-1); 

-- IsHyperThreaded 
SELECT SUBSTRING_INDEX('200,3,LinuxSET EC Image SLES11SP4-4 Revision 0 ia32e,true',',',-1); 

так ваш запрос что-то lkke это:

SELECT * 
FROM yourTable 
WHERE 
    SUBSTRING_INDEX(SUBSTRING_INDEX(properties,',',2),',',-1) = 2 
AND 
    SUBSTRING_INDEX(properties,',',-1) = 'true'; 

Вы также можете использовать виртуальные полей. Я добавлю образец через несколько минут.

+0

Функция SUBSTRING_INDEX недоступна в jpa, мне нужно это в контексте весны загрузки:/ – nadavgam

+0

Создайте представление и получите доступ к этому через Spring boot –