Cómo convertir automáticamente el atributo List de la clase de entidad en Json en la biblioteca en SpringBoot

En el desarrollo empresarial anterior, los datos recibidos por un campo estaban en formato Json y debían almacenarse en formato Json:

imagen

Esto se almacena en la base de datos, aquí hay una matriz Json.

[
  {
    "label": "result1",
    "name": "较好",
    "readonly": false
  },
  {
    "label": "result2",
    "name": "一般",
    "readonly": false
  },
  {
    "label": "result3",
    "name": "较差",
    "readonly": false
  },
  {
    "label": "result4",
    "name": "极差",
    "readonly": false
  }
]

Si quieres acceder a estos datos, ¿qué harás? Al guardar, la interfaz le enviará directamente los datos en formato Json. Al sacarlo, puede convertir los datos de Json en una Lista para otras operaciones.

Pero en el pensamiento orientado a objetos, cada elemento en esta matriz Json es un objeto, podemos guardarlo en forma de Lista en la capa de código y luego sacarlo en forma de Lista, la conversión de Json central es automáticamente hecho por el programa, no es necesario desarrollar para transferir manualmente.

Por supuesto que hay una forma de lograrlo, veamos el efecto:

imagen

Escribimos este campo en la clase de entidad en formato Lis y le agregamos un @ColumnTypecomentario. Esta anotación se utiliza para realizar la conversión automática entre List y Json. Luego debe configurarse en el archivo Mapper.xml:

<result column="survey_conclusion_options" property="surveyConclusionOptions" typeHandler="com.xxx.SurveyConclusionTemplateTypeHandler" />

Agregamos en este campo typeHandler.

De esta forma, cuando descargamos el código para guardar los datos, agregamos List en lugar de Json.

imagen

Verifique la base de datos, se ha convertido automáticamente a Json:

Cuando lo sacamos, solo necesitamos consultar directamente, y no necesitamos hacer otro procesamiento, lo que devolvemos es List.

imagen

¿Es de fácil acceso?

Ahora echemos un vistazo a SurveyConclusionTemplateTypeHandleresta clase de conversión en la anotación de campo .

imagen

Se usa aquí JsonTypeHandlery especifica la clase de entidad.

Echemos un vistazo JsonTypeHandler.

imagen

Principalmente hacer procesamiento Json. El código completo se puede descargar en línea.

Bueno, este artículo termina aquí, espero que sea de ayuda para todos.

Supongo que te gusta

Origin blog.csdn.net/wujialv/article/details/112215094
Recomendado
Clasificación