ibatis动态语句不同的写法
2012-07-23 19:22
267 查看
所谓的不同写法当然原理一样,只不过我觉得第二种更加清晰和原生一些。
写法一:
<sql id="queryCondition">
<dynamic prepend="WHERE">
<isNotEmpty prepend="and" property="stuNum">
<![CDATA[ num= #stuNum# ]]>
</isNotEmpty>
<isNotEmpty prepend="and" property="stuName">
<![CDATA[ name like '%$stuName$%' ]]>
</isNotEmpty>
</dynamic>
</sql>
使用
<select id="queryAll" resultMap="Student">
<include refid="select" />
<include refid="queryCondition" />
</select>
但是我觉得这样写太依赖ibatis了,比如说prepend这个属性,用不好在拼装sql语句的会麻烦。
我喜欢采用下面的写法。
写法二
<sql id="queryCondition">
where
<isNotEmpty property="stuNum">
<![CDATA[ num = #stuNum# and]]>
</isNotEmpty>
</sql>
用法
<select id="queryAll" resultClass="Student">
<include refid="select" />
<include refid="queryCondition" />
<![CDATA[
name like '%x%'
]]>
</select>
看到了吗?这样很原生态,拼装的时候很好想,不那么依赖ibatis了。
写法一:
<sql id="queryCondition">
<dynamic prepend="WHERE">
<isNotEmpty prepend="and" property="stuNum">
<![CDATA[ num= #stuNum# ]]>
</isNotEmpty>
<isNotEmpty prepend="and" property="stuName">
<![CDATA[ name like '%$stuName$%' ]]>
</isNotEmpty>
</dynamic>
</sql>
使用
<select id="queryAll" resultMap="Student">
<include refid="select" />
<include refid="queryCondition" />
</select>
但是我觉得这样写太依赖ibatis了,比如说prepend这个属性,用不好在拼装sql语句的会麻烦。
我喜欢采用下面的写法。
写法二
<sql id="queryCondition">
where
<isNotEmpty property="stuNum">
<![CDATA[ num = #stuNum# and]]>
</isNotEmpty>
</sql>
用法
<select id="queryAll" resultClass="Student">
<include refid="select" />
<include refid="queryCondition" />
<![CDATA[
name like '%x%'
]]>
</select>
看到了吗?这样很原生态,拼装的时候很好想,不那么依赖ibatis了。
相关文章推荐
- 【摘】Power Builder 中动态SQL语句的写法
- 模拟和改进ibatis中对sql语句的动态替换
- Mybatis中动态SQL语句中的parameterType不同数据类型的用法
- G4Studio平台下iBatis复杂的AND和OR动态语句拼写
- ibatis动态SQL语句
- 动态SQL语句的一些常见写法
- ibatis的sqlmap映射文件之动态sql语句
- 不同数据库的参数化SQL语句的写法
- 同一字段根据不同条件更新的sql语句的写法
- sql 语句在不同数数库中的写法(部分)
- 动态SQL语句的一些常见写法
- 使用log4net记录ibatis.net的SQL动态查询语句
- Ibatis 动态条件SQL语句
- ibatis中动态语句的iterate标签
- ibatis动态SQL语句
- ibatis 动态SQL like 的写法和 大于小于不等于的写法
- iBATIS教程之like语句的写法浅析
- 各数据库关于显示成男女各有不同的sql语句,有没有什么统一的标准写法呢???
- iBATIS 动态insert插入语句+特殊字符过滤
- ibatis中SQL映射配置文件中动态SQL语句语法