Mybatis实际使用(一)——综合利用foreach标签以及in关键字

本文讲述了如何在实际项目中利用Mybatis的foreach标签实现in条件的批量删除操作,包括代码示例和SqlSession框架的整合。重点介绍了XML配置与注解方式的绑定过程,以及自定义注解和方法参数的配合应用。
摘要由CSDN通过智能技术生成

Mybatis是一个好用的持久成框架,他的使用也并不复杂,但是对于没有实际项目经验的小白,遇到问题如何在项目中实际的使用学到的知识就是一个应该注意的问题了,而Mybatis实际使用这一系列的文章,也正是专门记录自己在这方面的一个收获。

使用Mybatis的foreach标签实现in条件的批量加入:

@Override
	public void deleteDetailByids(List<Long> ids) {
		super.update("deleteSaleOrderDetailByids", ids);
	}
<select id="deleteDetailByids" parameterType="java.lang.Long">
        update  cpu_r_detail set dr = 1,ts = CURRENT_TIMESTAMP where dr = 0 and id in
        <foreach item="item" index="index" collection="list" open="(" separator="," close=")">
            #{item,jdbcType=BIGINT}
        </foreach>
    </select>

在上面的Java代码中我们可以看到他调用了一个super.update()的方法,这是项目中从SqlSession工厂层次进行分装,从而提供一个平台的查询能力。不论是我们通过xml还是注解来使用Mybatis有一个关键的部分就是将我们的sql语句与我们的dao层接口绑定起来,xml的使用方式是通过标签属性的值来告诉框架他们两者是应该如何绑定的。注解的形式是框架自己提供的这个能力,但是显而易见我们的注解就作用域我们的dao层接口上,sql语句就在注解属性中,通过这样的方式实际上我们就业已经告诉了框架他们之间的一个关系。

 protected int update(String statement, Object entity) {
        return this.getSqlSession().update(this.addNameSpace(statement), entity);
    }

项目自己分装的这种方式一个关键的点就也是如何将这两者关联起来,在这里它采用的是自定义的注解以及方法参数传递两种方式结合来达到这一目标。日后有机会的对这一机制做一个简单的实现。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值