有个细节一直没有注意到,今天mark一下: mybatis进行时间比较的时候我们会这么写,一直都是在复制粘贴所以没有注意,一个标签<![CDATA[ ]]> 今天在做另外一个有时间比较sql的时候,xml一直报如下错: The content of elements must consist of well-formed character data or markup 检查没有xml标签问题,后来才注意到原来是没加<![CDATA[ ]]>标签导致: 因为这个是xml格式的,所以
trim代替where/set标签 trim 是更灵活用来去处多余关键字的标签,它可以用来实现 where 和 set 的效果. <!-- 使用 if/trim 代替 where(判断参数) - 将 User 类不为空的属性作为 where 条件 --> <select id="getUsertList_if_trim" resultMap="resultMap_User"> SELECT * FROM user u <trim p
My Batis 官方文档 对 动态SQL中使用trim标签的场景及效果介绍比较少. 事实上trim标签有点类似于replace效果. trim 属性 prefix:前缀覆盖并增加其内容 suffix:后缀覆盖并增加其内容 prefixOverrides:前缀判断的条件 suffixOverrides:后缀判断的条件 比如: select b.* from sys_menu b where 1 = 1 <trim suffix="WHERE" suffixOverrides=&q
select * from t_user <trim prefix="WHERE" prefixOverrides="and"> <if test="roleName != null and roleName != ''"> AND role_name=#{roleName}</if> </trim> 如果条件成立并且没有trim标签,那么sql语句就为 select * from t_user A