Xml
<select id= "selectbycondition" parametertype= "com.oracle.pojo.Student" resulttype= "Com.oracle.pojo.Student" >Select Id,name,address,gender,age from student where1=1 <iftest= "id! = NULL" >and ID=#{id}</if> <iftest= "Name! = NULL" >and name=#{name}</if> <iftest= "Address! = NULL" >and address like #{address}</if> <ifTest= "Gender! = NULL" >and gender=#{gender}</if> <ifTest= "Age! = 0" > and age=#{age}</if> </select> <sql id= "key" > <trim suffixoverrides= "," >ID,<iftest= "Name!=null" >name,</if> <iftest= "Address!=null" >address,</if> <ifTest= "Gender! = NULL" >Gender,</if> <ifTest= "Age! = 0" >Age ,</if> </trim> </sql> <sql id= "values" > <trim suffixoverrides= "," >#{id},<iftest= "Name!=null" >#{name},</if> <iftest= "Address!=null" >#{address},</if> <ifTest= "Gender! = NULL" >#{gender},</if> <ifTest= "Age! = 0" >#{age},</if> </trim> </sql> <insert id= "Dynainsert" parametertype= "Com.oracle.pojo.Student" > <selectkey keycolumn= "id" keyproperty= "id" resulttype= "java.lang.Long" order= "before" >Select Student_seq.nextval as ID from dual</selectKey>INSERT INTO student (<include refid= "key" ></include>) VALUES (<include refid= "values" ></include>) </insert> <delete id= "Dynadeletearray" >Delete student where ID in<foreach collection= "Array" open= "(" close= ")" separator= "," item= "IDs >#{ids}</foreach> </delete> <delete id= "Dynadeletelist" >Delete from students where students_id in<foreach collection= "List" open= "(" close= ")" separator= "," item= "IDs >#{ids}</foreach> </delete> <update id= "dynaupdate" parametertype= "Com.oracle.pojo.Student" >Update Student<set> <iftest= "Address!=null" >Address=#{address},</if> <iftest= "Age!=0" > Age=#{age},</if> </set>where ID=#{id}</update>
MyBatis Dynamic Curd