Как сохранить файл Json с помощью Lift Mapper в MySql
Я новичок в Liftweb. Я хочу сохранить файл Json в базе данных Mysql с помощью Lift Mapper
Мой файл Json, как показано ниже:-
[
{
"name": "Root Category",
"Id": "1",
"dispName": "",
"childs": [
{
"name": "Sub Category",
"Id": "",
"dispName": "",
"childs": [
{
"name": "Spec1",
"Id": "",
"dispName": "",
"childs": []
}
]
}
]
},
{
"name": "Root Category",
"Id": "",
"dispName": "",
"childs": [
{
"name": "Sub Category",
"Id": "",
"dispName": "",
"childs": [
{
"name": "Spec1",
"Id": "",
"dispName": "",
"childs": []
}
]
}
]
}
]
Можно ли сохранить файл Json в Lift Mapper . Пожалуйста, дайте мне предложения. Будет здорово, если кто-нибудь предоставит образец
С уважением
GSY
1 ответ
На данный момент нет хорошей поддержки для хранения JSON в MySQL. Я имею в виду, что он не собирается предоставлять возможности, которые MongoDB предоставляет, например. Однако есть некоторые функции обработки JSON, предоставляемые сообществом, если хотите. Учитывая все, что вы можете хранить его в VARCHAR
, TEXT
или же BLOB
тип поля как простой текст. Вот пример Mapper:
import net.liftweb.mapper._
import net.liftweb.common._
class SomeDbClass extends LongKeyedMapper[SomeDbClass] with IdPK {
def getSingleton = SomeDbClass
// set limit of chars - can be used in `validate()`
object quota_type extends MappedString(this, 1024)
}
object SomeDbClass extends SomeDbClass with LongKeyedMetaMapper[SomeDbClass]
Для одного из моих проектов я аналогичным образом храню JSON в виде строки в Postgres, потому что мне просто нужно прочитать и записать его без необходимости разбирать его в БД и запрашивать по полям. Всякий раз, когда мне нужно эффективное хранилище JSON с поддержкой запросов и обновлений, я использую MongoDB с Record + ( Casbah или Rogue).