ibatis实战之安插数据(使用内联参数映射)
ibatis实战之插入数据(使用内联参数映射)
ibatis实战之插入数据(使用内联参数映射)
----------
内联参数映射通过标记告诉ibatis你想让它如何将你的输入参数映射到已映射语句中,这样你就不需要显式定义外部参数映射,从而能够快速地构建已映射语句。以下是一个使用内联参数映射的insert语句的示例:
<insert id="insertWithInlineInfo"> insert into account( accountId, username,password, memberSince, firstName,lastName, address1,address2, city,state,postalCode, country,version )values( #accountId:NUMBER#, #username:VARCHAR#,#password:VARCHAR#, #memberSince:TIMESTAMP#, #firstName:vARCHAR#,#lastName:VARCHAR#, #address1:VARCHAR#,#address2:VARCHAR#, #city:VARCHAR#,#state:VARCHAR#,#postalCode:VARCHAR#, #country:VARCHAR#,#version:NUMBER# ) </insert>
这就是insert类型的已映射语句,以下给出用于执行该语句的代码:
Account account = new Account(); account.setAccountId(new Integer(9999)); account.setUsername("inlineins"); account.setPassword("poohbear"); account.setFirstName("Inline"); account.setLastName("Example"); sqlMapClient.insert("Account.insertWithInlineInfo",account);
尽管这个已映射语句能够顺利执行,但是一旦有好几个不同版本的insert语句以及一些不同版本的update语句,并且还使用十几个查询,那么使用内联参数映射就会使你的语句冗长并且难以维护一致性。此时,外部参数映射就可以帮助你简化SQLMap文件的维护。