首页 新闻 会员 周边 捐助

MyBatis.Net传入Model如何操作

0
[已解决问题] 解决于 2015-04-22 16:05

  楼主想实现的就是根据传入参数的不同值执行不同的Sql,可能我描述的比较苍白,直接上代码吧!

开发环境:mybatis.net+mvc

map:

<select id="GetInfoByAreaId" parameterType=""  resultMap="InfoResult">
      select * from [Info]
      <where>
        <if test="AreaPid==1">
          AreaId=#{AreaId}
        </if>
      </where>
    </select>

调用:

InfoTops model = new InfoTops()
{
   AreaId = 380,
   AreaPid = 1
};
_infoTopsRepository.Get("GetInfoByAreaId", model);

查询出的结果却不是AreaId等于380的那条信息,各位园友说说我哪里用错,欢迎指出错误!

晓菜鸟的主页 晓菜鸟 | 老鸟四级 | 园豆:2594
提问于:2015-04-21 16:42
< >
分享
最佳答案
0

MyBatis.net的资料确实很少,但还是解决了这个问题,学习起来没有Java那么方便,只能尽自己努力了,奔跑吧,程序猿!

晓菜鸟 | 老鸟四级 |园豆:2594 | 2015-04-22 16:05
其他回答(1)
0

parameterType设置为InfoTops试试。

<select id="GetInfoByAreaId" parameterType="InfoTops"  resultMap="InfoResult">
      select * from [Info]
      <where>
        <if test="AreaPid==1">
          AreaId=#{AreaId}
        </if>
      </where>
</select>
dudu | 园豆:30778 (高人七级) | 2015-04-21 16:59

这个我试过了,也一样,还是不行!取的数据还是不对!

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2015-04-21 17:00

@晓菜鸟: 加上空格试试

<if test="AreaPid == 1">
支持(0) 反对(0) dudu | 园豆:30778 (高人七级) | 2015-04-21 17:07

@dudu: 还是不对,加上空格也不行。传入Model是这样用的吗?用不用Model.AreaId?

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2015-04-21 17:11

@dudu: 我看的他的博客,http://www.cnblogs.com/dongying/p/4092662.html ,感觉都一样啊,为什么就是不行?

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2015-04-21 17:20

@dudu: 是不是 .net 里面不能这样用?

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2015-04-21 17:48

@晓菜鸟: 原来是.NET,我还以为是Java,.NET中叫MyBatis.NET 

支持(0) 反对(0) dudu | 园豆:30778 (高人七级) | 2015-04-21 22:13

@dudu: 额,是叫MyBatis.net,好吧,我忘记敲完整了,坑了你了,Net方面的资料好少,所以....

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2015-04-22 09:34

@dudu: MyBatis.net有没有类似<where>标签的语法?

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2015-04-22 09:35

@dudu: 我现在的写法必须得加上 where 1=1 ,感觉好多余。

<select id="GetInfoTops" parameterType="Hashtable" resultMap="InfoTopsResult">
      <![CDATA[select * from InfoTops where 1=1]]>

      <dynamic prepend="AND">
        <isNotEmpty property="Id">
          Id = #Id#
        </isNotEmpty>
      </dynamic>
      
    </select>

我这里拿根据Id查询可能不太合适,但是我想表达的意思就是组合多个条件进行查询。

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2015-04-22 09:39

@dudu: 谢谢站长,我自己找到了!:)

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2015-04-22 16:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册