Hi all,
I faced with the same problem and I solved in this way:
<insert id="insert_dynamic" parameterClass="Input">
INSERT INTO some_table
<dynamic prepend=" (">
<isNotNull prepend="," property="id ">
ID
</isNotNull>
<isNotNull prepend="," property="state">
STATE
</isNotNull>
<isNotNull prepend="," property="date">
DATE
</isNotNull>
)
</dynamic>
<dynamic prepend=" VALUES (">
<isNotNull prepend="," property="id ">
#id#
</isNotNull>
<isNotNull prepend="," property="state">
#state#
</isNotNull>
<isNotNull prepend="," property="date">
#date#
</isNotNull>
)
</dynamic>
</insert>
Giuseppe
________________________________
Da: Gil Vernik [mailto:[email protected]]
Inviato: mercoledì 24 dicembre 2008 10.49
A: [email protected]
Oggetto: insert statement
Hi there,
I would like to write a dynamic insert statement, but both fields and values
are dynamic.
I mean
<insert id="someIDhere" parameterClass="java.util.HashMap">
insert into table_one (
!!! dynamic list of keys from the HashMap
) values (
!!! values
);
</insert>
I want both the list of column names and it's values to be filled
automatically, depends on the parameterClass. How can I do it? I don't care to
use something else, instead of java.util.Hashmap.
Thanks,
Gil.
This message contains confidential information and is intended only for the
individual named. If you are not the named addressee you should not
disseminate, distribute or copy this e-mail. Please notify the sender
immediately by e-mail if you have received this e-mail by mistake and delete
this e-mail from your system. E-mail transmission cannot be guaranteed to be
secure or error-free as information could be intercepted, corrupted, lost,
destroyed, arrive late or incomplete, or contain viruses. The sender therefore
does not accept liability for any errors or omissions in the contents of this
message, which arise as a result of e-mail transmission. If verification is
required please request a hard-copy version.