请问:ibatis2,假如传入参数A,B,它们中任意一个isNotEmpty 那么就增加一条sql。 这个该怎么写? 10
2个回答
展开全部
<statement id="id自己命名">
<dynamic>
<isNotEmpty property="A">
sql1
</isNotEmpty>
<isNotEmpty property="B">
sql2
</isNotEmpty>
</dynamic>
</statement>
没经过测试,一般动态ibatis SQL动态语句是用来动态改变一条SQL语句的条件(包括where 条件和 select 的字段条件)
一般不会你说的那么用,因为你这个问题,完全可以在xml写两个ibatis statement,在java里判断A,B是否为空,来决定调一个还是两个statement
<dynamic>
<isNotEmpty property="A">
sql1
</isNotEmpty>
<isNotEmpty property="B">
sql2
</isNotEmpty>
</dynamic>
</statement>
没经过测试,一般动态ibatis SQL动态语句是用来动态改变一条SQL语句的条件(包括where 条件和 select 的字段条件)
一般不会你说的那么用,因为你这个问题,完全可以在xml写两个ibatis statement,在java里判断A,B是否为空,来决定调一个还是两个statement
展开全部
C#是这么写的,ibatis2不了解,但是看到isNotEmpty
string Condition = " where 1=1 ";
if (!string.IsNullOrEmpty(KeyWord))
{
Condition += " and aa like '%" + KeyWord.Replace("'", "''") + "%' ";
}
if (!string.IsNullOrEmpty(Remark))
{
Condition += " and Remark = '" + Remark.Replace("'", "''") + "' ";
}
string SelectString = "select * from table " + Condition + " order by Date desc";
string Condition = " where 1=1 ";
if (!string.IsNullOrEmpty(KeyWord))
{
Condition += " and aa like '%" + KeyWord.Replace("'", "''") + "%' ";
}
if (!string.IsNullOrEmpty(Remark))
{
Condition += " and Remark = '" + Remark.Replace("'", "''") + "' ";
}
string SelectString = "select * from table " + Condition + " order by Date desc";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询