以前のビジネス開発では、フィールドが受信したデータはJson形式であり、Json形式で保存する必要がありました。
これはデータベースに保存されます。これは実際にはJson配列です。
[
{
"label": "result1",
"name": "较好",
"readonly": false
},
{
"label": "result2",
"name": "一般",
"readonly": false
},
{
"label": "result3",
"name": "较差",
"readonly": false
},
{
"label": "result4",
"name": "极差",
"readonly": false
}
]
このデータにアクセスしたい場合は、どうしますか?保存すると、フロントエンドからJson形式でデータが直接送信されます。取り出すときに、Jsonデータを他の操作用のリストに変換できます。
しかし、オブジェクト指向の考え方では、このJson配列の各要素はオブジェクトであり、コードレイヤーにリストの形式で保存してから、リストの形式で取り出すことができます。中間のJson変換は自動的に行われます。プログラムによって行われ、手動で転送するために開発する必要はありません。
もちろん、それを達成する方法はあります。効果を見てみましょう。
このフィールドをエンティティクラスにLis形式で記述し、@ColumnType
コメントを追加します。このアノテーションは、ListとJson間の自動変換を実現するために使用されます。次に、Mapper.xmlファイルで構成する必要があります。
<result column="survey_conclusion_options" property="surveyConclusionOptions" typeHandler="com.xxx.SurveyConclusionTemplateTypeHandler" />
このフィールドに追加しますtypeHandler
。
このように、データを保存するためのコードをダウンロードするときに、Jsonの代わりにListを追加します。
データベースを確認してください。自動的にJsonに変換されています。
取り出すときは、直接クエリを実行するだけで、他の処理を行う必要はありません。返されるのはリストです。
アクセスは簡単ですか。
次にSurveyConclusionTemplateTypeHandler
、フィールドアノテーションでこの変換クラスを見てみましょう。
ここJsonTypeHandler
で使用し、エンティティクラスを指定します。
見てみましょうJsonTypeHandler
。
主にJson処理を行います。完全なコードはオンラインでダウンロードできます。
さて、この記事はここで終わります、私はそれが皆に役立つことを願っています。