我们以前写mybatis的dao的时候,基本上都是使用的xml文件来处理的。
xml相对来讲,一般的比较复杂点的单表还好点,但是简单的增删改查,使用xml就有点重了。
所以后来就出现了mybatis-plus之类的框架。
但是有些业务使用mybatis-plus在效率方面还是有点不太好看。
例如批量功能。
mybatis-plus的批量是一条条操作的。如果数据太大,可能就是个悲伤的故事。。。
如果要自己写,一般就使用dao,在xml中使用sql语句来实现。
操作流程:
1、先写个测试SQL;
update table set status=02、dao定义接口
Integer updateBatch();3、找到对应的mapper xml文件,xml中写对应的sql映射块
<update id="updateBatch">
update table set status=0
</update>我们发现,这个方式下,我们需要修改dao和xml文件。
有没有更简单的实现呢?
这里推荐使用@Update注解。
直接在dao接口上面写就可以了。
@Update("update table set status=0")
Integer updateBatch();这样就剩下了第3步了。xml文件也不用建了。后续查找的时候也不用去找xml文件了。
下面列下常用的XML注解
| 注解 | 说明 |
| @Insert | 新增 |
| @Delete | 删除 |
| @Update | 更新 |
| @Select | 查询 |
| @Result | 结果集封装 |
| @Results | 与@Result 一起使用,封装多个结果集 |
| @ResultMap | 引用@Results 定义的封装 |
| @One | 一对一结果集封装 |
| @Many | 一对多结果集封装 |
| @SelectProvider | 动态 SQL 映射 |
| @CacheNamespace | 注解二级缓存的使用 |