<?xml version="1.0" encoding="utf-8"?> <sqlMap namespace="Category" > <select id="GetCategory" parameterClass="Integer" resultClass="Category"> select Category_ID as Id, Category_Name as Name, Category_Guid as Guid from Categories where Category_ID = #value# </select> <!-- Test for statement as insert --> <statement id="InsertCategory" parameterClass="Category" resultClass="int"> insert into Categories (Category_Name, Category_Guid) values (#Name#, #Guid:UniqueIdentifier#); select SCOPE_IDENTITY() as value </statement><!--Guid for Oledb, UniqueIdentifier for SqlClient,Odbc --> <!-- Test for Guid Parameter Class--> <statement id="InsertCategoryGuidParameterClass" parameterClass="Guid" resultClass="int"> insert into Categories (Category_Name, Category_Guid) values ('toto', #value:UniqueIdentifier#); select SCOPE_IDENTITY() as value </statement><!--Guid for Oledb, UniqueIdentifier for SqlClient,Odbc --> <!-- JIRA 20 Test without specifying the dbtype--> <statement id="InsertCategoryGuidParameterClassJIRA20" parameterClass="Guid" resultClass="int"> insert into Categories (Category_Name, Category_Guid) values ('toto', #value#); select SCOPE_IDENTITY() as value </statement> <insert id="InsertCategoryViaInsertStatement" parameterClass="Category" > <selectKey property="Id" type="post" resultClass="int"> ${selectKey} </selectKey> insert into Categories (Category_Name, Category_Guid) values (#Name#, #Guid:UniqueIdentifier#) </insert><!--Guid for Oledb, UniqueIdentifier for SqlClient, Odbc --> <insert id="InsertCategoryWithProperties" parameterClass="Category" > <selectKey property="Id" type="post" resultClass="int"> ${selectKey} </selectKey> insert into Categories (Category_Name, Category_Guid) values (${MyCategoryName}, #Guid:UniqueIdentifier#) </insert> <statement id="InsertCategoryViaParameterMap" parameterMap="InsertParam" resultClass="int"> insert into Categories (Category_Name, Category_Guid) values (?,?); select SCOPE_IDENTITY() as value </statement> <statement id="InsertCategoryNull" parameterMap="insert-null-params" resultClass="int"> insert into Categories (Category_Name, Category_Guid) values (?,?); select SCOPE_IDENTITY() as value </statement> <update id="UpdateCategoryViaParameterMap" parameterMap="UpdateParam"> update Categories set Category_Name =?, Category_Guid = ? where Category_Id = ? </update> <procedure id="InsertCategoryViaStoreProcedure" parameterMap="category-insert-params"> ps_InsertCategorie </procedure> <insert id="InsertCategoryGenerate" parameterMap="insert-generate-params"> <selectKey property="Id" type="post" resultClass="int"> select @@IDENTITY as value </selectKey> <generate table="Categories" /> </insert> <update id="UpdateCategoryGenerate" parameterMap="update-generate-params"> <generate table="Categories" by="Category_Id"/> </update> <delete id="DeleteCategoryGenerate" parameterMap="delete-generate-params"> <generate table="Categories" by="Category_Id, Category_Name"/> </delete> <select id="SelectByPKCategoryGenerate" resultClass="Category" parameterClass="Category" parameterMap="select-generate-params"> <generate table="Categories" by="Category_Id"/> </select> <select id="SelectAllCategoryGenerate" resultClass="Category" parameterMap="select-generate-params"> <generate table="Categories" /> </select> <statement id="DynamicGuid" resultClass="Category" parameterClass="Category"> select Category_ID as Id, Category_Name as Name, Category_Guid as Guid from Categories <dynamic prepend="where"> <isNotEqual prepend="and" property="Guid" compareProperty="EmptyGuid"> Category_Guid=#Guid:UniqueIdentifier# </isNotEqual> </dynamic> </statement> <parameterMap id="category-insert-params"> <parameter property="Id" column="Category_Id" dbType="Int" /><!-- Int for SqlClient, Obdc; Integer for Oledb --> <parameter property="Name" column="Category_Name"/> <parameter property="Guid" column="Category_Guid" dbType="UniqueIdentifier"/><!--Guid for Oledb, UniqueIdentifier for SqlClient,Odbc --> </parameterMap> <parameterMap id="InsertParam"> <parameter property="Name" column="Category_Name"/> <parameter property="Guid" column="Category_Guid" dbType="UniqueIdentifier"/><!--Guid for Oledb, UniqueIdentifier for SqlClient,Odbc --> </parameterMap> <parameterMap id="insert-null-params"> <parameter property="Name" column="Category_Name"/> <parameter property="Guid" column="Category_Guid" nullValue="00000000-0000-0000-0000-000000000000" dbType="UniqueIdentifier"/><!--Guid for Oledb, UniqueIdentifier for SqlClient,Odbc --> </parameterMap> <parameterMap id="UpdateParam" extends="InsertParam"> <parameter property="Id" column="Category_Id" /> </parameterMap> <!-- Used by generated statement --> <parameterMap id="insert-generate-params"> <parameter property="Name" column="Category_Name"/> <parameter property="Guid" column="Category_Guid" dbType="UniqueIdentifier"/><!--Guid for Oledb, UniqueIdentifier for SqlClient,Odbc --> </parameterMap> <parameterMap id="update-generate-params" extends="insert-generate-params"> <parameter property="Id" column="Category_Id" /> </parameterMap> <parameterMap id="delete-generate-params"> <parameter property="Id" column="Category_Id" /> <parameter property="Name" column="Category_Name"/> </parameterMap> <parameterMap id="select-generate-params"> <parameter property="Id" column="Category_Id" /> <parameter property="Name" column="Category_Name"/> <parameter property="Guid" column="Category_Guid" dbType="UniqueIdentifier"/> </parameterMap> </sqlMap>