MyBatis: mapping a map
Join the DZone community and get the full member experience.
Join For FreeAs some of you will know I am a huge fan of MyBatis. I have used it in a lot of projects and it never failed me. I like how you are in control of the SQL and the flexibility this brings by mapping result sets to classes instead of mapping tables to classes.
Recently I wanted to map some columns from a table to actual typed properties of an object, and some columns to aproperty of type Map within that same object. Consider the following class:
public class Person { private String firstName; private String lastName; private Map dynamicProperties; // Getters and setters omitted. }
and the following query:
select firstname, lastname, pref_1, pref_2, pref_3 from person;
The following resultmap maps the result of the query to the Person class:
<resultMap id="personDynamicProperties" type="map"> <result column="pref_1" property="pref_1"/> <result column="pref_2" property="pref_2"/> <result column="pref_3" property="pref_3"/> </resultMap> <resultMap id="personResult" type="Person"> <result column="firstname" property="firstName"/> <result column="lastname" property="lastName"/> <association property="dynamicProperties" resultMap="personDynamicProperties"/> </resultMap>
Published at DZone with permission of Jamie Craane, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Trending
-
How to Implement Istio in Multicloud and Multicluster
-
SRE vs. DevOps
-
Knowing and Valuing Apache Kafka’s ISR (In-Sync Replicas)
-
Extending Java APIs: Add Missing Features Without the Hassle
Comments