读书人

iBatis中一个书写sql有关问题你们是

发布时间: 2012-05-21 18:04:41 作者: rapoo

iBatis中一个书写sql问题,你们是怎么处理的
写sql分页查询时,要写2个sql,一个是统计总数,一个是写取分页的具体记录

如:

<select id="GetTaskCount" parameterClass="Task" resultMap="Task">
select count(1) from tasks
<dynamicprepend="where">
<isNotNull property="taskname" prepend="and">
tasknamee=#taskname#
</isNotNull>
.....
这里有很多条件,有10多个条件
</dynamic>
</select>
<select id="GetTaskPageList" parameterClass="Task" resultMap="Task">
这里是分页查询的sql
<dynamicprepend="where">
<isNotNull property="taskname" prepend="and">
tasknamee=#taskname#
</isNotNull>
.....
这里有很多条件,有10多个条件
</dynamic>
</select>

这两条sql的条件是完全一样的,条件又要重复复制一遍

你们是怎么处理的呢,有办法这两条sql语句重复条件部分吗

[解决办法]
--这里是N多条件

<sql id="selectItem_fragment">
FROM items
WHERE parentid = #value#
</sql>

<select id="selectItems" resultClass="Item">
SELECT id, name
<include refid="selectItem_fragment"/>
</select>

用include包含


还有一种方法是用存储过程分页动态查询

读书人网 >asp.net

热点推荐