Ibatis 一些点点滴滴

本文介绍了ibatis中使用in语句的方法,包括通过List参数处理in语句及使用拼接字符串的方式。此外还对比了#与$符号的区别,并讨论了ibatis返回值的要求和resultMap配置时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 ibatis 中的in语句的处理

   in语句在查询的时候用的比较多,当然也可以通过连接来处理。但总感觉in比较好

   理解和想象。

【传入List,在查询时进行遍历就好了】

<delete id="member.batchDelete" parameterClass="java.util.List">
      DELETE FROM member where id IN
      <iterate conjunction="," open="(" close=")" >
          #value[]# 
      </iterate>
</delete>

 

 【当然也可以不用list,直接将拼接好的语句传入也能解决问题,但这样有危险】

 <delete id="member.batchDelete" parameterClass="java.util.Map">

      DELETE FROM member where id IN  $sqlstr$
</delete>

 

 

2  ## 和 $$

  前者是可以自己匹配字符,进行相应的转化;而后者这是直接进行替换,传入的

  啥就是啥,但这是由危险的,很有可能会依赖注入。

 

 

3 ibatis中的返回值,就是list ,select返回的值中

   select的标志的列值和列的属性等的要和上面的配置的一致,否则会报错的。 

   ibatis中要求的比较严格。(不一定一致,但是返回的至少要和上面写的resultMap 字段一样多,只多不少)


4 对于ibatis中resultMap都是对应的java bean类的一般,如果java bean中的属性都是对象类的,就是没有

   基本类型的话,就好了,nullValue="xxxx"可以不进行指定,否则最好指定下。如果返回的都是非空的就也没事,如果有空的,就报错喽

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值